Android 手机卫士8--删除通话记录

1.编写代码需要注意bug:

再删除通话记录的时候,删除的是以前的通话记录,本次拦截下来的电话号码,通话记录没有删除??????
问题原因:数据库中本次通话记录的电话号码还没有插入,就做了删除操作

2.bug解决方法:

内容提供者:对外提供数据库的访问方式
内容解析器:用内容提供者提供的访问方式Uri,访问数据库(增删改查)
内容观察者:观察数据库的变化,一旦数据发生改变,调用相应方法

通过内容观察者,观察数据库的插入,一旦有插入,则做删除此条插入数据操作

public void endCall(String phone) {
	......

		//6,在内容解析器上,去注册内容观察者,通过内容观察者,观察数据库(Uri决定那张表那个库)的变化
		mContentObserver = new MyContentObserver(new Handler(),phone);
		getContentResolver().registerContentObserver(
				Uri.parse("content://call_log/calls"), true, mContentObserver);
	}
}
class MyContentObserver extends ContentObserver{
	private String phone;
	public MyContentObserver(Handler handler,String phone) {
		super(handler);
		this.phone = phone;
	}
	//数据库中指定calls表发生改变的时候会去调用方法
	@Override
	public void onChange(boolean selfChange) {
		//插入一条数据后,再进行删除
		getContentResolver().delete(
				Uri.parse("content://call_log/calls"), "number = ?", new String[]{phone});
		super.onChange(selfChange);
	}
}

  

  

时间: 2024-10-06 21:37:06

Android 手机卫士8--删除通话记录的相关文章

删除通话记录怎样恢复

删除通话记录怎样恢复?我们现在有的时候可能会因为一些比较小的原因,就会导致我们的手机通话记录被删除,那么我们若是想要找回我们删除的手机通话记录,是不是可以呢?又该怎么找回呢? 首先,若是我们有进行过备份,那么我们直接从备份里面还原就可以了,若是没有进行过备份的话,我们也是可以通过使用我们的手机云备份来进行找回的,若是我们的手机云备份也没有的话,我们可以试试下面的办法. 1.在此恢复过程中我们需要首先打开电脑, 可以先在电脑浏览器上下载安装"互盾安卓恢复大师"的安装包,使用USB数据线将

Android 手机卫士--弹出对话框

在<Android 手机卫士--解析json与消息机制发送不同类型消息>一文中,消息机制发送不同类型的信息还没有完全实现,在出现异常的时候,应该弹出吐司提示异常,代码如下: private Handler mHandler = new Handler() { // public void handleMessage(android.os.Message msg) { switch (msg.what) { case UPDATE_VERSION: //弹出对话框,提示用户更新 //showUp

Android 手机卫士--确认密码对话框编写

本文接着实现“确认密码”功能,也即是用户以前设置过密码,现在只需要输入确认密码 本文地址:http://www.cnblogs.com/wuyudong/p/5940718.html,转载请注明出处. 布局文件和<Android 手机卫士--设置密码对话框>中的布局基本类似,所有copy一下,修改一点细节就搞定: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:and

Android 手机卫士--签名文件说明&amp;包名说明

在<Android 手机卫士--打包生成apk维护到服务器>一文中,实现了新版本的apk到服务器,当打开客户端apk的时候,发现有新版本,提示更新.还实现了利用xutils工具实现了从服务器端下载apk 本文地址:http://www.cnblogs.com/wuyudong/p/5903484.html,转载请注明源地址. 本文实现下载本机apk的安装,过程很简单,参考<Android APK的安装> 代码如下: /** * 安装对应的apk * @param file 安装文件

手机短信内容,通话记录,手机定位找人

免责声明:咨 询 Q Q: 2540400410 主要有这方面的一切问题你就直接加这个QQ:2540400410就帮助你了.成功案例等信息在此强烈推荐,他们专业查微信聊天记录,QQ聊天记录,恢复删除的微信聊天记录,查别人的qq聊天记录等.服务QQ: 2540400410.我找过他们,他们有信誉.也许可以帮你,我查我男朋友的聊天记录就是找他们的.~他们的QQ: 2540400410-很专业,信誉很好!希望可以帮助你们.加QQ:2540400410 专业为你服务:手机通话记录查询,手机通话详单查询,

[android] 手机卫士黑名单功能(列表展示)

先把要拦截的电话号码保存到数据库中,拦截模式用个字段区分,1 电话拦截,2 短信拦截,3全部拦截 新建Activity类CallSmsSafeActivity.java 新建布局文件activity_call_sms_safe.xml 列表展示所有的黑名单手机号码 在布局文件中添加<ListView>控件,定义一个id 获取ListView对象 调用ListView对象的setAdapter()方法,参数:ListAdapter对象 定义内部类CallSmsSafeAdapter继承系统的Ba

Android 手机卫士12--进程管理

1.本进程不能被选中,所以先将checkbox隐藏掉--手机卫士 不能自杀 if(getItem(position).packageName.equals(getPackageName())){ holder.cb_box.setVisibility(View.GONE); }else{ holder.cb_box.setVisibility(View.VISIBLE); } 2.清理选中进程 private void clearAll() { //1,获取选中进程 //2,创建一个记录需要杀死

Android 手机卫士--安装过程中点击回退按钮

本文地址:http://www.cnblogs.com/wuyudong/p/5903707.html,转载请注明源地址. 在手机卫士之前的版本升级的对话框中: 有的用户暂时不想更新,没有点击“稍后再说”,而是选择点击回退按键,那么这时候的逻辑应该是让用户进入home界面而不是splash界面.所以需要添加代码逻辑来控制,添加的代码如下: builder.setOnCancelListener(new OnCancelListener() { @Override public void onCa

Android 手机卫士--阶段小结1

本文地址:http://www.cnblogs.com/wuyudong/p/5904528.html,转载请注明源地址. 本文对之前手机卫士开发进行一个小结. 1.SplashActivity 版本名称的展示,从清单配置文件中获取版本名称,PackageManager 服务端新版本的检测(本地版本号<服务器版本号) 展示logo 2.手机防盗 sim卡绑定:每一款手机都会有相应的卡的序列号,一旦替换掉原有电话卡,序列号会发生改变 3.手机卫士分包 基础课程分包方式,每一个类包名, com.it