android 短信和电话拦截全总结
- 发出短信拦截
- 接收短信拦截
- 拨出电话拦截
- 接听电话拦截
1,发送短信
似乎无法做到application层的发送拦截,即使是监听数据库的变化也是默认应用发送完毕之后再存入数据库的
2,接收短信
- 4.4以前有两种方式,一个是接收广播,一个是监听短信数据库,广播比较快.
- 4.4以后非默认应用可以接收到短信到达广播,但是无法拦截,因为此时广播改成了无序广播,并且系统隐藏了android.provider.Telephony.SMS_RECEIVED这个action,也只能读取数据库变化,只有默认的应用可以写数据库
3,拨出电话
-广播监听:
action:
android.intent.action.NEW_OUTGOING_CALL
4,接听电话
-广播监听:
action:
android.intent.action.PHONE_STATE
通话记录的话通过contentprovider可以获取