最近在做短信,都流行搞个短信提醒功能,咱们项目也不例外。先把解决思路记下以防健忘 ~_~
网上多提供的解决方案为捕获系统短信消息,
<action android:name="android.provider.Telephony.SMS_RECEIVED" />
<action android:name="android.provider.Telephony.GSM_SMS_RECEIVED" />
<action android:name="android.provider.Telephony.SMS_RECEIVED2" />
这种方式容易被像QQ通讯录,360通讯录这种通讯录牛逼的干掉,和他们同时存在的话基本上就没戏了,应该说是根本就没戏的份。
1)不管是静态注册还是动态注册你的监听receiver,
2)不管你是<intent-filter android:priority="2147483647" >还是filter.setPriority(Integer.MAX_VALUE);
3)那种说receiver最高优先级设为1000的同样不行;
统统绕不过他们。
最终的解决方法还是注册个观察者监听短信相关的数据库,这个很靠谱。
有时间再补代码