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

相关推荐

  • 阿里云国际站充值:阿里云服务器备份更换

    好的,关于阿里云国际站充值和阿里云服务器备份更换,我可以提供一些建议和步骤。 阿里云国际站充值 登录阿里云账户: 访问阿里云国际站(aliyun.com),使用您的账户信息登录。 进入充值页面: 在账户中心或用户中心找到充值选项,一般在账户余额或账单管理部分。 选择充值方式: 根据您的需要选择适合的支付方式,如信用卡、PayPal等。 输入充值金额: 输入您…

    2024年7月11日
    17000
  • 以阿里云为例了解云计算的应用场景有哪些

    云计算应用在哪些领域? 在各个领域里都有应用。例如印刷行业。 云计算可以应用在哪些行业? 云计算应用的层面可多了,未来,云计算是无处不在的,目前发展得比较不错的主要是物联网,智慧城市,大数据等等。具体来说有政府、互联网、电商和视频类 。亦云信息有这些案例,发展好几年了,参考一下专业意见吧。 云计算的应用有哪些呢? 微博 在线词典 等针对个人用户的互联网络数据…

    2023年8月25日
    20300
  • 烟台阿里云企业邮箱代理商:钉钉邮箱可以发给别的邮箱吗

    烟台阿里云企业邮箱代理商:钉钉邮箱可以发给别的邮箱吗 阿里云企业邮箱优势 阿里云企业邮箱是一种专为企业打造的高效、安全和稳定的电子邮件解决方案。其具有以下优势: 稳定性:阿里云企业邮箱基于阿里云强大的技术支持,确保邮箱系统稳定运行,避免因服务器故障而导致邮件传输问题。 安全性:该邮箱提供多层次的防护机制,包括反垃圾邮件、反病毒、反钓鱼等,有效保护企业邮件的安…

    2024年1月12日
    18300
  • 湛江阿里云代理商:ad域修改sid

    如果你想要在湛江使用阿里云代理商修改AD域的SID,你可以按照以下步骤进行操作: 首先,打开阿里云的管理控制台并登录到你的帐户。 在控制台中,找到并选择与你的AD域关联的阿里云代理商。 在代理商的管理界面中,找到AD域管理选项。 在AD域管理选项中,你应该能够找到与SID相关的功能或选项。 点击进入SID相关的功能或选项。 在SID相关的功能或选项中,你应该…

    2024年1月3日
    18200
  • 阿里云数据中心战略合作伙伴是什么

    战略合作伙伴是什么意思? 就是指通过合资或合作来筹集资金,技术或管理经验等的合作形式 战略合作伙伴是什么意思啊 战略合作伙伴关系是一种基于高度信任,伙伴成员间共享竞争优势和利益的长期性、战略性的协同发展关系,它能对外界产生独立和重大的影响.并为合作各方带来深远的意义。最早的战略合作伙伴关系出现在日本和美国。 什么叫战略合作伙伴? 所谓的战略合作伙伴,是指能够…

    2023年8月28日
    22100

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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