潍坊阿里云代理商:android 7.0 读取短信

在Android 7.0以及更高的版本中,需要申请权限来读取短信。这包括READ_SMS权限和RECEIVE_SMS权限。这些权限必须在运行时请求,而且用户必须明确地授予这些权限。

以下是获取这些权限的代码示例:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (checkSelfPermission(Manifest.permission.READ_SMS) == PackageManager.PERMISSION_DENIED) {
        Log.d("permission", "permission denied to READ_SMS - requesting it");
        String[] permissions = {Manifest.permission.READ_SMS};

        requestPermissions(permissions, PERMISSION_REQUEST_READ_SMS);

    }
}

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if (checkSelfPermission(Manifest.permission.RECEIVE_SMS) == PackageManager.PERMISSION_DENIED) {
        Log.d("permission", "permission denied to RECEIVE_SMS - requesting it");
        String[] permissions = {Manifest.permission.RECEIVE_SMS};

        requestPermissions(permissions, PERMISSION_REQUEST_RECEIVE_SMS);
    }
}

一旦用户授予了这些权限,你就可以使用ContentResolver来查询和读取短信。

例如:

ContentResolver cr = getContentResolver();
Cursor cursor = cr.query(Telephony.Sms.Inbox.CONTENT_URI, null, null, null, null);
int indexBody = cursor.getColumnIndex(Telephony.Sms.Inbox.BODY);
int indexAddr = cursor.getColumnIndex(Telephony.Sms.Inbox.ADDRESS);

if (indexBody < 0 || !cursor.moveToFirst()) return;

do {
    String strBody = cursor.getString(indexBody);
    String strAddress = cursor.getString(indexAddr);
} while (cursor.moveToNext());

请注意,从用户那里获取这些敏感权限需要提供合理的解释,并且你的应用必须遵守所有的隐私政策和用户条款。

在Android 7.0或更高版本中,应用需要用户授予读取短信的权限才能读取短信。以下是Android 7.0读取短信的大致步骤:

  1. 在AndroidManifest.xml文件中请求必要的权限,如下:
<uses-permission android:name="android.permission.READ_SMS"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
  1. 在需要读取短信的地方请求权限。可使用Android的PermissionCompat类请求权限。例如:
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_SMS}, MY_PERMISSIONS_REQUEST_READ_SMS);

其中,MY_PERMISSIONS_REQUEST_READ_SMS是你定义的请求码,用于在请求权限的回调方法onRequestPermissionsResult()中识别请求来源。

  1. 在onRequestPermissionsResult()方法中处理权限请求的结果。如果权限被授予,你可以继续进行读取短信的操作。

例如,可以通过ContentResolver查询设备的短信数据库:

潍坊阿里云代理商:android 7.0 读取短信
Uri uri = Uri.parse("content://sms/inbox");
Cursor cursor = getContentResolver().query(uri, null, null, null, null);

注意:自Android 6.0(API级别23)起,用户可以在任何时候撤销应用的权限。因此,应用在运行时需要检查是否还有必要的权限,如果没有,需要重新请求。

以上只是基础的步骤和信息,具体的操作可能需要根据你的应用需求和实际情况进行调整。

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

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月16日 18:55
下一篇 2024年3月16日 18:59

相关推荐

  • 阿里云服务器怎么选择端口

    阿里云服务器怎么设置8080端口 是服务器上开的某个服务换到8080端口还是阿里云安全组开放8080端口?前者的话建议你搜索对应软件名字+改到8080端口看看别人是怎么改的。后者的话可以进入阿里云官网-控制台-云服务器-安全组-找到对应服务器包含的安全组-配置-公网出方向+公网入方向 那里按照提示设置。 阿里云服务器默认用8080能打开,请问怎么切换成80端…

    2023年8月28日
    13300
  • 阿里云国际站注册教程:阿里云vpc管理

    阿里云VPC即阿里云虚拟私有云,能够在阿里云上建立隔离的网络环境,选定自己的IP地址范围,创造和管理虚拟网络。以下是在阿里云国际站的注册和VPC管理的教程: 第一步:在浏览器打开阿里云国际站的网址:https://www.alibabacloud.com 第二步:在网站右上角点击 “Free Account” 进行注册。简单的个人信息和邮箱验证后…

    2024年3月27日
    16200
  • 崇左阿里云企业邮箱代理商:阿里云在线迁移服务

    崇左阿里云企业邮箱代理商:阿里云在线迁移服务 随着信息化时代的发展,企业邮箱已经成为企业日常办公不可或缺的重要工具。作为一家专业的阿里云企业邮箱代理商,我们为您提供阿里云在线迁移服务,帮助您快速、安全地迁移企业邮箱,让您的办公效率得到提升。 优势一:安全可靠 阿里云企业邮箱采用先进的加密技术,保障您的企业邮件数据安全。在线迁移服务遵循严格的数据迁移流程,确保…

    2024年2月26日
    14900
  • 崇左阿里云企业邮箱代理商:手机qq邮箱回收站在哪里打开

    崇左阿里云企业邮箱代理商:手机qq邮箱回收站在哪里打开 阿里云企业邮箱的优势 阿里云企业邮箱是一款专为企业提供的高效、安全和便捷的企业邮件解决方案。相比于普通的手机QQ邮箱,阿里云企业邮箱具有以下几个优势: 安全性:阿里云企业邮箱采用全球领先的SSL加密技术,确保邮件传输的安全性,有效防止信息泄漏。 稳定性:阿里云企业邮箱基于大规模分布式集群架构,具备高可靠…

    2024年1月16日
    13600
  • 阿里云国际站:阿里云邮箱 安全

    阿里云国际站的阿里云邮箱提供了强大的安全功能,确保用户的电子邮件和个人信息得到保护。 以下是阿里云邮箱的安全特性: 登录保护:阿里云邮箱提供了多个安全认证选项,包括常规的用户名和密码登录、手机验证码、指纹识别等。用户可以选择适合自己的登录方式,并且可以随时更改安全设置。 邮件加密:阿里云邮箱支持 SSL/TLS 加密协议,保护邮件在传输过程中的安全性。这意味…

    2024年1月31日
    26900

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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