阿里云国际站: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

相关推荐

  • 广州阿里云代理商:Android滚动相册

    广州阿里云代理商推荐的Android滚动相册是指基于Android系统的滚动相册应用。这样的应用可以让用户在手机上浏览和管理相册中的照片和视频。以下是一些推荐的Android滚动相册应用: Google相册:Google相册是Android系统自带的相册应用,具有滚动浏览和整理照片的功能。它还支持自动备份和云端存储,方便用户在不同设备上共享和访问照片。 Qu…

    2024年1月3日
    12800
  • 阿里云企业邮箱:哪个功能可以防止暴力破解?

    阿里云企业邮箱:哪个功能可以防止暴力破解? 在信息化时代,企业邮箱作为企业沟通的重要工具,其安全性尤为重要。随着网络攻击手段的不断升级,暴力破解已成为邮箱安全的一大隐患。阿里云企业邮箱凭借其强大的安全功能,有效地防止了暴力破解,保障了企业的通信安全。本文将从阿里云企业邮箱的优势和使用体验出发,探讨其如何防止暴力破解。 阿里云企业邮箱的优势 阿里云企业邮箱不仅…

    1天前
    1500
  • 西安阿里云计算销售

    陕西西安连 锁 销 售真的能拿到1040吗?会不会被骗? 1040只是一个理论的计算答案,行业都是七分看三分悟,不存在骗不骗的一个说法, 1040579955 西安月薪收入多少算可以啊?? 如果你是西安本地娃,那么3000块足够你日常生活和开销了。如果你是外地娃,3000块钱还包住宿和一餐,你单身的花可以过的很潇洒。但是,要考虑以后购房置业,娶妻生子。现在西…

    2023年8月26日
    14800
  • 长沙阿里云代理商:阿里通信邮件推送服务

    阿里云是一家提供云计算、云存储、云数据库等各种云服务的公司,其中也包括了阿里通信邮件推送服务。阿里通信邮件推送服务是一种全球化的企业级邮件发送解决方案,可以帮助企业快速、高效地发送邮件。 作为长沙的阿里云代理商,我们可以为当地的企业提供阿里通信邮件推送服务的相关咨询和技术支持。我们可以帮助企业了解该服务的优势和功能特点,并根据企业的需求,设计和部署符合其业务…

    2024年1月16日
    16100
  • 阿里云服务器的购买配置

    如何选择阿里云服务器的配置 一般网站用虚拟主机即可,够用就行,没必要用整台的服务器。你可以用经济版:多线机房,2G空间,200M的数据库,支持A SP/N ET/PHP4/ 5/,需要备案。每年210元。现在在线。 企业如何选择阿里云服务器配置 一般根据业务需要来选择不同的配置,像一些展示型的网站,对于配置要求低一些,选择低配置就可以;如果要求高性能、高稳定…

    2023年8月26日
    16300

发表回复

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

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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