Android 利用ContentObserver查看通话记录
2013-01-15 22:21
260 查看
罪过 罪过! 为什么呢? 想得到通话之后的记录的 一定不干好事.. 反正我没用来干好事..
观察者 需要一个URI 电话打完之后都往 contacts2/calls这个表里面存
private Uri uri = Uri.parse("content://call_log/calls");
注册观察者
getContentResolver().registerContentObserver(uri, true, new CallLogObserver(new Handler()));
下面是观察者 类
public class CallLogObserver extends ContentObserver { private String content; private String type = " "; public CallLogObserver(Handler handler) { super(handler); } @Override public void onChange(boolean selfChange) { super.onChange(selfChange); Cursor c = getContentResolver().query(uri, null, null, null, "_id DESC LIMIT 1"); //contacts / call表 if (c.moveToNext()) { int types = c.getInt(c.getColumnIndex("type")); //电话类型 String date = new SimpleDateFormat("MM-dd_HH:mm").format(new Date(c.getLong(c.getColumnIndex("date")))); //时间 String number = c.getString(c.getColumnIndex("number")); //电话号码 String name = c.getString(c.getColumnIndex("name")); //联系人姓名 String duration = c.getString(c.getColumnIndex("duration")); // 通话时间 秒 switch (types) { case 1: type = "接电话"; break; case 2: type = "打电话"; break; case 3: type = "未接来电"; break; default: break; } String seconds = secondFormat.Format(Long.parseLong(duration)); //格式化了一下 Log.i(TAG, date + type + name + number+ "时长" + seconds); } } }
public static String Format(long mss) { // long days = mss / (60 * 60 * 24); long hours = (mss % (60 * 60 * 24)) / (60 * 60); long minutes = (mss % (60 * 60)) / 60; long seconds = mss % 60; if (mss / (60 * 60 * 24) > 0) { return " 尼玛时间太长..超过1天了..."; } else if (hours > 0) { return " " + hours + "小时" + minutes + "分" + seconds + "秒"; } else if (minutes > 0) { return " " + minutes + "分" + seconds + "秒"; } else { return " " + seconds + "秒"; } }
相关文章推荐
- Android短信监听(二)——利用ContentObserver实现短信监听
- 【android】利用ContentObserver监听短信来获取验证码
- Android短信监听(二)——利用ContentObserver实现短信监听
- Android - 利用内容提供者删除通话记录
- 内容观察者 ContentObserver 监听短信、通话记录数据库 挂断来电
- 内容观察者 ContentObserver 监听短信、通话记录数据库 挂断来电
- Android短信监听(二)——利用ContentObserver实现短信监听
- 利用android sqlite3 查看创建的数据库记录内容
- 记录Android源码在线查看网址
- Android手机获取通话记录和短信记录
- android 读取手机通话记录
- Android中联系人和通话记录详解(联系人的增删改查)(3)
- Android开发json数据解析之账单记录与查看详情(遍历到ListView中)
- Android通讯录管理(获取联系人、通话记录、短信消息)(二)
- Android 它们的定义ContentProvider和ContentObserver充分利用
- 利用makefile的语法功能,查看Android中Android.mk里面的变量的值
- [Android] ContentObserver监听数据变化
- Android获取通话记录
- android 通话记录的增删改查
- android之ContentObserver内容观察者的使用