佛山阿里云代理商:android 7.0 获取短信

要获取Android 7.0上的短信,您需要先请求READ_SMS和RECEIVE_SMS权限。然后,您可以使用ContentResolver访问短信的Uri,并使用Cursor读取短信。以下是一个示例代码:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) == PackageManager.PERMISSION_GRANTED
        && ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS) == PackageManager.PERMISSION_GRANTED) {
    Uri uri = Uri.parse("content://sms/inbox");
    Cursor cursor = getContentResolver().query(uri, null, null, null, null);
    while (cursor != null && cursor.moveToNext()) {
        String address = cursor.getString(cursor.getColumnIndex("address"));
        String body = cursor.getString(cursor.getColumnIndex("body"));
        // Do something with the address and body of the SMS
    }
    if (cursor != null) {
        cursor.close();
    }
} else {
    // Request runtime permissions
}

请注意,您需要在应用中处理运行时权限,以避免在用户未授予权限的情况下访问短信。

获取短信需要获取短信读取权限,Android 6.0 及以上版本需要动态申请权限。

首先,在 AndroidManifest.xml 文件中添加以下权限:

<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>

然后,在代码中添加动态权限申请:

佛山阿里云代理商:android 7.0 获取短信
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    // 判断 Android 版本是否大于等于 6.0
    if (checkSelfPermission(Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED) {
        // 如果未授权,则向用户申请授权
        requestPermissions(new String[] {Manifest.permission.READ_SMS}, 1);
    }
}

// 授权结果回调方法
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
    if (requestCode == 1) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {
            // 用户授权
            // 进行获取短信的操作
        } else {
            // 用户拒绝授权
            Toast.makeText(this, "请授权以获取短信", Toast.LENGTH_SHORT).show();
        }
    }
}

获取短信的代码如下:

Uri uri = Uri.parse("content://sms/inbox");
// 查询条件,只查询发送号码包含139的短信
String selection = "address like '%139%'";
Cursor cursor = getContentResolver().query(uri, null, selection, null, null);
if (cursor != null && cursor.getCount() > 0) {
    // 遍历短信
    while (cursor.moveToNext()) {
        String address = cursor.getString(cursor.getColumnIndex("address"));
        String body = cursor.getString(cursor.getColumnIndex("body"));
        // 处理短信
    }
    cursor.close();
}

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/159255.html

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月10日 21:45
下一篇 2024年3月10日 22:26

相关推荐

  • 如何在阿里云服务器安装软件教程

    安装软件教程可以分为以下几个步骤: 登录阿里云服务器:首先使用 SSH 工具登录到你的阿里云服务器。如果是 Windows 系统,可以使用 PuTTY 进行登录;如果是 MacOS 或 Linux 系统,可以直接使用 Terminal 进行登录。 更新软件包:在安装软件之前,我们需要先更新服务器上的软件包列表。在 Terminal 或 PuTTY 中运行以下…

    2023年9月16日
    68900
  • 阿里云短信验证码接口案例

    以下是一个使用阿里云短信验证码接口的示例案例: import json import requests ACCESS_KEY_ID = '你的AccessKeyId' ACCESS_KEY_SECRET = '你的AccessKeySecret' PHONE_NUMBER = '手机号码' SIGN…

    2023年10月29日
    68000
  • 济南阿里云代理商:asp.net 服务器标记的格式不正确

    这个错误可能是由于ASP.NET服务器标记的格式不正确所引起的。ASP.NET服务器标记是在ASP.NET代码中使用的一种特殊格式。正确的服务器标记应该以“<%”开头,并以“%>”结尾。 要解决这个问题,您可以检查您的ASP.NET代码中的服务器标记,确保它们的格式正确。确保每个服务器标记都以“<%”开头,并以“%>”结尾。 另外,还…

    2024年2月9日
    68800
  • 阿里云企业邮箱的安全配置能否与第三方安全工具集成?

    阿里云企业邮箱的安全配置与第三方安全工具集成 阿里云企业邮箱作为国内领先的企业级邮箱服务,不仅具备稳定的性能和便捷的使用体验,还在安全性方面有着突出表现。随着企业对于数据安全的要求不断提高,将企业邮箱与第三方安全工具集成成为一种趋势,旨在实现更全面的安全防护。本文将详细介绍阿里云企业邮箱的安全配置,并探讨其与第三方安全工具的集成方案。 阿里云企业邮箱的核心安…

    2024年10月30日
    53100
  • 澳门阿里云代理商:啊d网络工具包怎么用

    对不起,当前无法提供关于”啊d网络工具包”的具体使用方法,因为没有相关信息或商品说明。如果你需要使用阿里云的服务,那么你可以通过以下步骤: 登录阿里云官网或者联系阿里云的代理商。 在阿里云官方网站或者代理商那里选购你需要的云服务部署,如ECS(Elastic Compute Service,弹性计算服务),OSS(Object Sto…

    2024年3月13日
    58300

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/