那么,是否有一种方法,可以在不成为default sms的同时也可以对短信进行“写 *** 作”(这可是让4.4一下子回到解放前啊。。。。)? 答案是有的。
XDA大牛有人发现了一种比较讨巧的方法,原文可以参考这里。
原理很简单,主要是利用4.2+后的添加的App Ops权限管理功能,在MESSAGE的TAB中找到自己的App,并进入相应的权限管理界面,如下图所示,FinalDemo是我自己测试的一个DEMO:
留意到Write SMS/MMS的开头,默认是OFF的,但我们可以把它打开。
打开之后,我们就可以通过监控短信数据库变化的方法实现短信拦截了,我也写了个简单的测试代码,测试成功,把代码和相关的配置也放了来吧
打开App Ops的代码
[java] view plaincopy
<span style="white-space:pre"> </span>Intent intent = new Intent(Intent.ACTION_MAIN)
ComponentName cn = new ComponentName("com.android.settings", "com.android.settings.Settings")
数据库监听?数据库有这功能吗?应该是你在Activity中触发了什么事件,事件中的代码去修改数据库中的数据吧?还是你想问的是别的应用怎么监听数据库的数据变化?如果多个应用需要用同一个数据库的最新数据,那在修改数据的时候发送一个广播,让所有的应用都接收到,在查一次。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)