自版本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>