阿里云国际站:android短信拦截代码

在Android中,短信拦截可以通过继承 BroadcastReceiver 并拦截特定的短信广播来实现。

以下是一个基础短信的拦截代码示例:

public class SMSReceiver extends BroadcastReceiver {

    // 接收短信的 Intent filter action
    private static final String SMS_RECEIVED = "android.provider.Telephony.SMS_RECEIVED";

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction() != null && intent.getAction().equals(SMS_RECEIVED)) {

            // Retrieve a map of extended data from the intent
            Bundle bundle = intent.getExtras();
            if (bundle != null) {
                Object[] pdus = (Object[]) bundle.get("pdus");

                if (pdus != null) {
                    for (Object pdu : pdus) {

                        // 将单个 PDU 转换为 SmsMessage
                        SmsMessage smsMessage = SmsMessage.createFromPdu((byte[]) pdu);

                        // 从短信中获取发送者
                        String sender = smsMessage.getDisplayOriginatingAddress();

                        // 从短信中获取短信内容
                        String messageBody = smsMessage.getMessageBody();

                        // 在这里,可以根据需要来拦截具体的短信
                        if (sender.contains("特定号码或特定的内容")) {
                            // 终止广播(不让其他应用收到此广播,短信到达手机后,不在通知栏提示)
                            abortBroadcast();
                        }
                    }
                }
            }
        }
    }
}

用此代码,记得要在AndroidManifest.xml文件中注册该接收器:

<receiver android:name=".SMSReceiver">
    <intent-filter android:priority="1000">
        <action android:name="android.provider.Telephony.SMS_RECEIVED" />
    </intent-filter>
</receiver>

并且需要添加以下权限:

<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />

最后,在应用中必须获得用户的同意以获取接收和读取短信的权限。可以在程序开始时使用请求权限的API请求权限:

if(ContextCompat.checkSelfPermission(this, Manifest.permission.RECEIVE_SMS) != PackageManager.PERMISSION_GRANTED
   || ContextCompat.checkSelfPermission(this, Manifest.permission.READ_SMS) != PackageManager.PERMISSION_GRANTED){
        ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.RECEIVE_SMS, Manifest.permission.READ_SMS}, 123);
}

注意: Android 4.4(KitKat)及更高版本的系统对于短信的处理有较大的改变。由原来的任何应用都可以接收短信变成只有默认的短信应用可以接收到新的短信。

阿里云国际站:android短信拦截代码

以上就是基本的短信拦截代码的实现方法。

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

(0)
luotuoemo的头像luotuoemo
上一篇 2024年3月24日 15:35
下一篇 2024年3月24日 15:48

相关推荐

  • 阿里云大数据服务有哪些知乎

    阿里云大数据服务包括以下几个方面的产品: 阿里云MaxCompute(原名ODPS):一个快速、完全托管的大数据计算和分析平台,支持PB级的数据处理和存储。 阿里云DataWorks(原名DataWorks DSW):一个数据集成与开发平台,提供数据集成、数据开发、数据管理、数据治理等功能,全面提升数据开发和数据运维效率。 阿里云E-MapReduce(原名…

    2023年8月16日
    17900
  • 渭南阿里云企业邮箱代理商:钉钉邮箱怎么设置签名功能

    渭南阿里云企业邮箱代理商:钉钉邮箱如何设置签名功能 作为一家国内知名的企业邮箱服务提供商,阿里云企业邮箱以其稳定可靠的性能和丰富的功能受到了众多企业的青睐。而作为阿里云企业邮箱的代理商之一,渭南阿里云企业邮箱代理商为客户提供了更便捷的购买和使用方式,并且深受用户好评。 钉钉邮箱签名功能设置步骤: 登录阿里云企业邮箱代理商官网或渭南阿里云企业邮箱代理商网站。 …

    2024年1月25日
    15300
  • 柳州阿里云代理商:安卓网络工具 he

    柳州阿里云代理商:安卓网络工具 在现今的互联网时代,云计算已成为企业提高效率、降低成本的重要途径。作为国内领先的云服务提供商,阿里云凭借其强大的技术实力和全球化的服务网络,成为众多企业的首选。本文将介绍柳州阿里云代理商所提供的一款安卓网络工具,并分析阿里云的优势。 阿里云的优势 1. 强大的可靠性:作为国内最大的云服务提供商之一,阿里云拥有多个数据中心,遍布…

    2024年1月12日
    17200
  • 企业员工对阿里云企业邮箱的新功能易用性反馈?

    企业员工对阿里云企业邮箱新功能易用性反馈 随着企业信息化进程的加速,企业邮箱已成为日常工作中的必备工具,而阿里云企业邮箱凭借其稳定、安全、功能丰富的特点,获得了大量企业的青睐。近年来,阿里云企业邮箱不断更新迭代,引入多项新功能以提升用户体验和效率。以下从员工的角度出发,探讨这些新功能的易用性以及阿里云企业邮箱和代理商的优势。 一、阿里云企业邮箱的新功能介绍 …

    2024年10月27日
    10700
  • 襄阳阿里云代理商:阿里云 数据访问安全性

    阿里云作为云计算服务提供商,非常重视数据的安全性。以下是阿里云代理商所提供的阿里云数据访问安全性方面的保障措施: 阿里云提供安全的网络环境:阿里云通过提供安全的网络基础设施,包括DDoS攻击防护、防火墙、虚拟专用网络(VPC)等,来保护用户数据免受网络攻击和恶意访问。 数据备份与恢复:阿里云提供自动备份和多副本机制,确保用户数据的可靠性和可恢复性。用户可以根…

    2024年2月2日
    15400

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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