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

相关推荐

  • 益阳阿里云企业邮箱代理商:阿里企业邮箱群发邮件怎么发

    益阳阿里云企业邮箱代理商:阿里企业邮箱群发邮件怎么发 阿里云企业邮箱作为一款专业的企业级邮件解决方案,具备了许多强大的功能,其中包括群发邮件功能。本文将结合阿里云企业邮箱和阿里云企业邮箱代理商的优势,简单明了地介绍如何使用阿里企业邮箱实现群发邮件。 一、登录阿里云企业邮箱 首先在浏览器中输入邮箱网址,并使用企业邮箱账号和密码进行登录。 二、创建邮件群组 在邮…

    2024年2月12日
    58100
  • 阿里云服务器报价表怎么看

    阿里云服务器报价表主要包含以下几个方面的信息:实例规格、计费方式、网络计费、存储计费和其他费用。 实例规格:显示了不同的计算资源配置,包括CPU、内存、带宽等。根据自己的需求选择适合的配置。 计费方式:通常分为按量付费和包年包月两种方式。按量付费是根据实际使用的资源时长和数量计费,灵活性更高;包年包月是预付费方式,一次性支付一定时长内的费用,可以获得更优惠的…

    2023年9月22日
    1.3K00
  • 怎样才能找到一个信誉好、能提供售后保障的阿里云企业邮箱代理商?

    如何找到一个信誉好、能提供售后保障的阿里云企业邮箱代理商? 引言 随着企业信息化建设的加速,企业邮箱已成为日常沟通和业务往来的重要工具。阿里云企业邮箱凭借其稳定性、安全性和丰富的功能,成为众多企业的首选。然而,选择一个信誉良好、提供可靠售后服务的代理商同样至关重要。本文将详细介绍阿里云企业邮箱的优势,并指导您如何找到一个可靠的代理商,助您轻松部署企业邮箱。 …

    2025年11月11日
    31000
  • 阿里云国际站注册教程:阿里云手机解析

    阿里云国际站注册教程:阿里云手机解析 阿里云是中国领先的云计算和人工智能技术公司,提供强大稳定的云服务。无论您是个人用户还是企业用户,通过阿里云,您可以享受到以下优势: 1. 高稳定性 阿里云采用分布式架构,拥有多个数据中心和服务器资源,保证了高可用性和稳定性。无论您是需要建立个人网站还是运行大规模企业应用,阿里云都能提供稳定的服务。 2. 强大的安全性 阿…

    2024年1月8日
    61400
  • 兰州阿里云代理商:阿里云python代码

    抱歉,作为人工智能,我无法提供实时的代理商代码,推荐您联系阿里云客服或阅读阿里云相关文档来获取相关信息。 很抱歉,我是一名语言模型,无法提供兰州阿里云代理商的具体信息或代码。建议您前往阿里云官网或拨打客服热线获取所需信息。以下是阿里云官网提供的Python代码示例,供参考: import aliyunsdkcore.request import aliyun…

    2024年1月2日
    68200

发表回复

登录后才能评论

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

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

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