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

在Android 4中,我们可以使用BroadcastReceiver拦截短信。这里有一个简单的例子,可以参考。

首先我们需要在AndroidManifest.xml中声明权限并添加对应的元素:

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

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

这里我们声明了接收和读取短信的权限,然后注册了一个BroadcastReceiver。并且设置了优先级为1000,这是为了尽可能先处理短信。

然后我们需要实现SmsReceiver:

阿里云国际站:android 4 拦截短信
public class SmsReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        // Retrieves a map of extended data from the intent.
        final Bundle bundle = intent.getExtras();

        try {
            if (bundle != null) {
                final Object[] pdusObj = (Object[]) bundle.get("pdus");

                for (int i = 0; i < pdusObj.length; i++) {
                    SmsMessage currentMessage = SmsMessage.createFromPdu((byte[]) pdusObj[i]);

                    String senderNum = currentMessage.getDisplayOriginatingAddress();
                    String message = currentMessage.getDisplayMessageBody();

                    // Check if message matches your criteria
                    if (senderNum.equals("your number") && message.startsWith("some text")) {
                        // Do something
                        // If you want to make sure SMS is not delivered to other applications
                        abortBroadcast();
                    }

                } // end for loop

            } // bundle is null

        } catch (Exception e) {
            Log.e("SmsReceiver", "Exception: " + e);
        }
    }
}

在这段代码中,我们在onReceive方法中获得了短信相关信息,然后根据号码和短信内容做了一些操作。如果你想阻止短信传递给其他应用,可以调用abortBroadcast方法。

注意,这种方式在Android 4.4或之后的版本中可能会不起作用,因为Google修改了处理短信的方式。在4.4或之后的版本中,你可能需要把你的应用设为默认短信应用才能处理短信。或者你可以使用其他方式来获取短信,例如使用NotificationListenerService来读取短信通知。

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

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

相关推荐

  • 阿里云国际站注册教程:阿里云ecs安全模式

    阿里云国际站注册教程和阿里云ECS安全模式相关的详细指导如下: 阿里云国际站注册教程 访问阿里云国际站点: 打开你的网页浏览器,访问阿里云的国际站点(International site)页面。 选择注册: 在首页或者登录页面,找到注册选项,一般在登录框的下方或者右上角。 填写注册信息: 输入你的电子邮件地址和其他必要的个人信息。确保提供的信息准确无误。 验…

    2024年7月12日
    29700
  • 威海阿里云代理商:安全报表

    安全报表是指威海阿里云代理商提供的一份关于客户云服务安全情况的报告。该报表通常包括以下内容: 安全事件统计:报告周期内发生的安全事件数量、类型和严重程度等信息,帮助客户了解云服务的安全状况。 安全漏洞修复情况:报告提供已修复的安全漏洞数量和相关漏洞的描述、影响范围等信息,客户可以及时了解和采取措施防范相关风险。 安全事件响应和处理:报告会详细描述威海阿里云代…

    2024年1月1日
    26000
  • 网关接入阿里云服务器

    阿里云服务器子网掩码和网关怎么设置 云服务器不需要设置的,系统自动给你分配如果你改了网关的话,就连不上服务器了 宽带怎么接入阿里云虚拟主机 展开全部推荐你用:阿里云虚拟主机-普及版(1G网页空间,送50M SQL数据库,支持HTML/ASP/NET/PHP/MYSQL/MSSQL),能备案:150元/年。可以加咱,在线上。 新网域名如何接入到阿里云 可以的,…

    2023年8月30日
    23800
  • 阿里云最新开发项目

    马云最近要创建什么新项目比如理财产品。 他想要打造一个金融帝国,民间征信蚂蚁信用就是阿里巴巴旗下的。理财的话,招财宝是余额宝的升级版。现在多出了一个存金宝,个人感觉有点风险。天弘基金的聚划算500可以试试。阿里的明星产品。 性能比MySQL提升70%,阿里云即将开源的AliSQL数据库什么来头 AliSQL是基于MySQL官方版本的一个分支,由阿里云数据库团…

    2023年8月25日
    24300
  • 阿里云企业邮箱的技术架构对未来功能扩展的适应性?

    阿里云企业邮箱的技术架构对未来功能扩展的适应性 随着企业数字化转型的深入,企业对信息化管理和通信工具的需求不断提升。阿里云企业邮箱作为一款由阿里巴巴旗下的云计算平台推出的邮箱服务,凭借其强大的技术架构和灵活的扩展能力,在未来功能的扩展上具备了极高的适应性。本文将从技术架构、功能扩展以及与阿里云企业邮箱代理商合作的优势角度,深入探讨其未来的扩展潜力。 阿里云企…

    2024年10月15日
    19100

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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