佛山阿里云代理商: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

相关推荐

  • 阜新阿里云企业邮箱代理商:钉钉邮箱地址不合法是什么意思

    阜新阿里云企业邮箱代理商:钉钉邮箱地址不合法是什么意思 阿里云企业邮箱是一款全球领先的企业级电子邮件服务,为企业提供高效、安全、稳定的邮件通信解决方案。在使用阿里云企业邮箱的过程中,有时会遇到“钉钉邮箱地址不合法”的提示,那么这是什么意思呢?我们来详细了解一下。 1. 钉钉邮箱地址不合法的含义 “钉钉邮箱地址不合法”是指在设置阿里云企业邮箱时,输入的钉钉邮箱…

    2024年1月11日
    19200
  • 阿里云在线客服兼职怎么样

    阿里云在线客服兼职的工作情况会根据具体的公司和岗位要求而变化,所以具体的兼职情况可能会有所不同。然而,一般来说,阿里云在线客服兼职有以下几个优点和注意事项: 1.灵活的工作时间:作为兼职,在阿里云在线客服工作的时间可以更加灵活,可以根据自己的时间安排来选择工作时间。 2.良好的待遇:阿里云是一家大型云计算和互联网公司,在线客服兼职往往有较为可观的薪酬,根据工…

    2023年10月2日
    25400
  • 北京阿里云代理商:android 代码写入短信

    您好!如果您想在Android应用程序中编写发送短信的功能,您可以使用Android的短信管理器(SmsManager)类来实现。以下是一些示例代码来展示如何在Android应用程序中发送短信: 首先,在您的AndroidManifest.xml文件中添加以下权限: <uses-permission android:name="android…

    2024年2月7日
    16900
  • 常德阿里云代理商:阿里风控

    阿里风控是阿里云提供的一种风险控制服务,常德阿里云代理商可以利用这个服务为企业客户提供更安全可靠的云计算环境。阿里风控通过多种机器学习和决策算法,结合大数据分析和实时监测,识别和预测网络攻击和异常行为,帮助用户降低风险并加强安全防护。 作为阿里云代理商,常德企业可以将阿里风控整合到自家的系统中,提供更全面的安全防护措施。阿里风控可以实时监测用户的网络活动、交…

    2024年1月10日
    17500
  • 阿里云人脸识别收费

    阿里云人脸识别服务收费根据不同的使用情况而有所不同。通常,阿里云人脸识别服务的收费方式包括按调用次数计费和按流量计费。 按调用次数计费: 人脸比对(1:1对比)服务:根据调用次数计费,具体价格可以去阿里云官网查询。 人脸检测与属性分析服务:根据调用次数计费,具体价格可以去阿里云官网查询。 按流量计费: 人脸搜索(1:N搜索)服务:根据人脸图片大小以及流量用量…

    2023年11月7日
    16600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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