您的位置:首页 > 移动开发 > Android开发

android短信拦截示例代码

2016-03-14 16:52 615 查看
android短信拦截示例代码

举报描述不清违规检举侵权投诉|
分享|
2013-10-10 16:16
wangyu19900123 | 浏览 1085 次

手机

求相关的示例代码。要求真机验证通过的,可以优先于360安全卫士等安全软件进行拦截。
希望android高手可以帮我解决,复制粘贴,就算了,网上太多的都是复制粘贴,没什么太高的技术含量。


短信拦截的关键点在于:

1)对于自己的拦截代码(BroadcastReceiver )设置一个比较高的优先级,这样可以让自己的receiver比其他app更先接受处理收到的短信:

<receiver android:name=".AutoSMS" android:exported="false">

<intent-filter android:priority="1000">

<action android:name="android.provider.Telephony.SMS_RECEIVED"/>

</intent-filter>

</receiver>

可以查看360安全卫士apk解压出来的manifest文件,看它的优先级是多,设置一个比他还大的就好。

2)在自己的处理程序中,对于检查短信内容,如果符合特定要求,就调用abortBroadcast(); 让短信信息不再继续广播。

这两步很简单,本来就不需要什么技术含量!!!!!
收起

追问:

那我想要优先360得到短信广播呢,360的优先级已经设置为最大了,而且采取动态注册广播的方法。我若采用360的做法,那么也不一定可以优先360截获短信。现在的做法,我是先监听到开机广播,在开机的时候动态注册优先级最高(int 最大值)的短信监听广播,只要这样才能解决。但涉及到重新启动手机才能生效,不知道怎么样不重启手机就能生效。


追答:

你的意思是你的东西是当成apk装到手机上,这样不重启手机就没办法监听到开机广播?导致动态注册不了?

你可以改为监听时间,时间有变化(ACTION_TIME_TICK)就设置动态注册优先级
,最多加个全局标记为,只设置一次,设置之后就不处理


追问:

你这样的做法,是不行的。你要在360等应用服务注册之前注册才行,所以只有在开机的时候抢先他们注册(360等应用的service也是在开机后注册的,因为关机了,什么service也都停掉了。所以,我在开机的时候设置做大优先级的监听器,抢先360他们注册)。


追答:

如果需要抢在抢先360前注册,而你的apk又比360后装,那是没啥办法了


评论
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: