潍坊阿里云代理商: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

相关推荐

  • 曹县阿里云代理商:阿里云CDN如何应对网络电子教育资讯的内容传输和加载效率?

    阿里云CDN可以通过以下方式提高网络电子教育资讯的内容传输和加载效率: 全球分布式服务器:阿里云CDN采用全球分布式服务器架构,可以将静态内容缓存至地理位置靠近用户的节点,从而降低内容传输的延迟和提高加载速度。 动态加速技术:阿里云CDN通过动态加速技术,可以实时优化网络状况,并根据用户访问行为,提高动态内容的传输效率,保证教育资讯的实时传输和加载。 智能路…

    2023年11月15日
    18200
  • 阿里云企业邮箱的价格与服务性能的匹配程度?

    阿里云企业邮箱:价格与服务性能匹配分析 1. 阿里云企业邮箱的价格与版本介绍 阿里云企业邮箱提供了多种价格套餐,涵盖了不同企业规模和需求的用户。主要版本包括: 标准版:适合中小企业,最低起售5个账号,每个账号提供无限容量和5G的个人网盘空间,定价较经济,适合预算有限的企业。 集团版:支持多域名管理,100账号起售,账号无限容量,并提供20G的共享网盘空间,适…

    2024年10月27日
    9900
  • 阿里云机顶盒怎么装软件拜谢

    阿里云机顶盒怎么装软件拜谢 和其他顷卜机顶盒纳乎肢一样的,就两种方式:   1、先用电脑将软件洞世下载到U盘里,再将U盘插在机顶盒上,从机顶盒进入U盘,安装软件;   2、机顶盒里装有类似于手机的应用市场,然后从应用市场安装。既定盒里没装应用市场的话,就用第一种方法装一个。 电视阿里云os装不了应用 电视阿里云os装不了应用:1、阿里云系统的盒子不支持第三方…

    2023年8月28日
    18800
  • 长沙阿里云代理商:阿里云httpd.conf

    阿里云的httpd.conf文件是 Apache HTTP Server 的主配置文件,用于配置服务器的各种参数和功能。 在阿里云服务器上,httpd.conf文件的默认路径为 /etc/httpd/conf/httpd.conf。 该文件中包含了多个配置项,可以根据实际需求进行修改。常见的配置项包括: ServerRoot:指定服务器的根目录。 Liste…

    2024年2月4日
    16400
  • 齐齐哈尔阿里云企业邮箱代理商:阿里云邮箱发送失败

    齐齐哈尔阿里云企业邮箱代理商:阿里云邮箱发送失败 阿里云企业邮箱介绍 阿里云企业邮箱是一款高效、安全、稳定的企业级邮箱服务,为企业提供了全方位的邮件支持。它基于阿里云技术平台,具备强大的安全性和灵活性,成为许多企业选择的首选邮箱服务。 阿里云企业邮箱优势 1. 强大的安全性:阿里云企业邮箱采用先进的安全技术,包括多层次的防火墙、反垃圾邮件系统和病毒扫描功能,…

    2024年2月17日
    15400

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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