自版本Android4.4以后以及Android4.4版本。
在广播接受者中直接写abortBroadcast已经不能拦截短信。
并且也不能对已有短信进行改写操作。
原因:Android4.4引入默认短信应用的概念,只有系统的默认短信应用才能对软件进行读写和拦截操作。
所以要解决这个问题必须自身成为系统的默认短信应用。
全局文件中加入以下代码(并且添加相对应的java文件(不用实现任何功能,空java文件也可以)):
<receiver android:name="cn.com.bcf.sendemailtestwo.SmsReceiver"
android:permission="android.permission.BROADCAST_SMS">
<intent-filter>
<action android:name="android.provider.Telephony.SMS_DELIVER" />
</intent-filter>
</receiver>

自Android 4.4版本起,短信拦截与管理发生改变,仅默认短信应用能进行此类操作。为解决拦截问题,应用需注册相关接收器并成为默认短信应用。通过在全局文件添加广播接收器、MMS接收器和设置Activity及Service,再引导用户设置为默认应用,即可实现短信拦截和管理功能。
最低0.47元/天 解锁文章
294

被折叠的 条评论
为什么被折叠?



