Android - 利用内容提供者删除通话记录
2016-02-15 21:18
453 查看
在我们拦截了电话之后,但是会在通话记录里面显示,我们将使用内容提供者进行删除
获取内容提供者
虽然删除了电话号码记录,但是会有延迟,所以我们查询电话号码表是否改变了
ContentResolver contentResolver = getContentResolver();
获取内容提供者
// 呼叫记录的Uri路径 Uri uri = Uri.parse("content://call_log/calls"); contentResolver.delete(uri, "number = ?",new String[] { incomingNumber });需要加入权限
<uses-permission android:name="android.permission.READ_CALL_LOG"/> <uses-permission android:name="android.permission.WRITE_CALL_LOG"/>
虽然删除了电话号码记录,但是会有延迟,所以我们查询电话号码表是否改变了
Uri uri = Uri.parse("content://call_log/calls"); //观察呼叫记录数据库内容是否发生了变化 getContentResolver().registerContentObserver(uri, true, new CallLogObserver(incomingNumber, new Handler())); //ContentObserver 上下文观察者创建一个类,并继承ContentObserver
public class CallLogObserver extends ContentObserver { private String incomingNumber; public CallLogObserver(String incomingNumber, Handler handler) { super(handler); // TODO Auto-generated constructor stub this.incomingNumber = incomingNumber; } //改变删除 @Override public void onChange(boolean selfChange) { // TODO Auto-generated method stub super.onChange(selfChange); getContentResolver().unregisterContentObserver(this); deletecalllog(incomingNumber); } }现在在打一个电话,就不会在有电话记录了
相关文章推荐
- android使用全局变量的两种方法
- android include包含布局文件
- android:fitsSystemWindows的作用
- when the android meet dragger2
- 【Android性能优化】(一)使用SparseIntArray替换HashMap
- Android资源文件详解
- AndroidManifest.xml
- Android入门小示例_一键SOS
- #android#获取屏幕宽度 获取imageview宽度
- AndroidStudio查看对象引用,是否内存泄露
- Kotlin Android开发学习记录
- android:TextView实现文字走马灯效果(欺骗系统获取持久的焦点)
- Android Activity返回键控制的两种方式
- Android Activity返回键控制的两种方式
- Android TextView 添加下划线的几种方式
- Android TextView 添加下划线的几种方式
- android gridview几个重要属性(android:listSelector自带内部padding分析)
- android gridview几个重要属性
- Android studio 编译报libpng warning: iCCP: Not recognizing known sRGB profile that has been edited
- Android设计模式学习之观察者模式