佛山阿里云代理商: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密钥登录等选项。 确认配置无误后,点击”立即购买…

    2023年9月15日
    63900
  • 武汉阿里云代理商:amd的虚拟机怎么设置u盘启动

    使用阿里云的AMD虚拟机时,您可以按照以下步骤设置U盘启动: 登录阿里云控制台,选择您的虚拟机实例并进入实例详情页面。 在实例详情页面,点击左侧导航栏中的“实例资源”下的“更多”按钮,选择“重启实例”。 在弹出的重启实例窗口中,勾选“UEFI固件模式启动”,然后点击“重启”按钮。 重启实例后,点击左侧导航栏中的“实例资源”下的“更多”按钮,选择“重启实例”。…

    2024年1月30日
    68300
  • 云计算有什么用?云计算对企业的好处

    云计算有什么用?云计算对企业的好处 越来越多的企业选择将业务迁移到云上促进了云服务商的兴起,而互联网的迅猛发展以及国家政策的大力支持也推动我国云计算行业进入发展快车道。目前公有云、私有云占据市场大半份额,混合云紧随其后凭借独特优势获得企业青睐。2020年企业该选择哪种云计算策略呢?公有云、私有云和混合云有什么区别?公有云通常指第三方提供商用户能够使使用的云,…

    2023年8月26日
    63700
  • 洛阳阿里云代理商:asp.net服务器控件的优势

    ASP.NET服务器控件具有以下优势: 丰富的控件库:ASP.NET服务器控件库包含了大量的预定义控件,可以轻松地创建丰富的用户界面,例如按钮、文本框、下拉列表、日期选择器等等。这些控件通过简单的拖放和配置就可以使用,并且具有强大的功能和灵活的样式定制。 服务器端处理:与客户端控件相比,ASP.NET服务器控件在服务器端进行处理,不需要通过JavaScrip…

    2024年2月7日
    70700
  • 长沙阿里云代理商:阿里云服务器二级域名怎么设置

    在阿里云上设置服务器的二级域名大概如下几个步骤。假设你已经在阿里云购买了域名和云服务器: 登录阿里云控制台:首先,使用你的阿里云账号登录到阿里云控制台。 进入域名管理:登录后,点击导航栏中的“域名”,进入域名管理页面。 选择要配置的域名:在域名列表中找到你想要设置二级域名的主域名,然后点击“解析”按钮,进入域名DNS解析页面。 添加解析记录:在 DNS 解析…

    2024年5月30日
    59200

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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