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

相关推荐

  • 阿里云短信签名自定义

    阿里云短信签名可以进行自定义,但需要满足以下规则: 签名类型:个人用户只能选择使用“个人”签名类型,企业用户可以选择使用“个人”或“企事业单位”签名类型。 签名字数限制:个人用户的签名字数限制为2-8个字,企业用户的签名字数限制为2-12个字。 签名内容限制:签名必须为汉字、字母、数字或符号组成,不支持特殊字符和特殊词汇。 签名审核:提交签名后需要进行审核,…

    2023年9月28日
    38700
  • 临汾阿里云企业邮箱代理商:阿里邮件推送 新建域名同一个网站怎么弄

    临汾阿里云企业邮箱代理商:阿里邮件推送 新建域名同一个网站怎么弄 阿里云企业邮箱优势 阿里云企业邮箱作为国内领先的企业通讯服务提供商,拥有稳定可靠的服务和强大的技术支持。其产品包括邮箱、日历、通讯录等功能,全面满足企业日常通讯需求。 新建域名同一个网站怎么弄 当您需要在一个网站下新建多个域名时,可以通过以下步骤实现: 在阿里云企业邮箱控制台中添加相应的域名,…

    2024年2月26日
    31000
  • 阿里云mqtt物联网开发平台

    基于mqtt 数据怎么实时上传到云平台 你说的私有云是指iaas还是paas,也就是说是要做一个数据存储的空间,还是要一个平台,如果是平台的话,可以采用mqtt物联网通信云平台,行业唯一的。 Kafka和mqtt可以互相替代吗?物联网必须用mqtt吗?用kafka行吗? 两者虽然都是从传统的Pub/Sub消息系统演化出来的,但是进化的方向不一样,以下是几个比…

    2023年8月29日
    32300
  • 阿里云企业邮箱:如何利用阿里云企业邮箱提升企业信息安全

    阿里云企业邮箱:如何利用阿里云企业邮箱提升企业信息安全 随着信息化时代的快速发展,企业在日常运营中,邮件已成为沟通和协作的重要工具。然而,随着邮件信息量的增加,企业在邮件管理、数据安全以及信息防泄露等方面面临着巨大的挑战。为了确保信息的安全性,阿里云企业邮箱应运而生,成为越来越多企业的首选。本文将详细探讨如何通过阿里云企业邮箱提升企业信息安全,并分享一些使用…

    2025年3月19日
    20300
  • 天津阿里云代理商:阿里云7.2重启tomcat

    如果您是天津地区的阿里云代理商,您可以通过以下步骤来重启tomcat服务: 登录阿里云控制台,进入ECS实例的管理页面。 在左侧导航栏找到“实例列表”,点击您需要操作的ECS实例。 在实例详情页面中,找到并点击“远程连接”按钮,选择“登录方式”为“Web端SSH”。 在弹出的页面中输入登录密码,点击“登录”按钮进入ECS实例的Web SSH终端界面。 在We…

    2024年2月20日
    32000

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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