查看电话记录---CallLog.Calls.CONTENT_URI

查询的联系人名字(CallLog.Calls.CACHED_NAME),
中CallLog.Calls.TYPE就是电话类型,
电话号码(CallLog.Calls.NUMBER)

[code]
for (int i = 0; i < cursor.getCount(); i++) {
cursor.moveToPosition(i);
//注意,如果数据表里面有一个字段:type,查询的时候,若没有设置要查type,那么在cursor里面读type的数据时候就会出现找不到列:type
//读取数据可以理解是从cursor里面读的,当初你没查type这个字段,查询结果里面没有type的数据,当然cursor里面也就没有了
if(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME))== null){
item.add("联系人列表无此记录");
}else{
item.add(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.CACHED_NAME)));
}

item_2.add(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.NUMBER)));
}

[/code]
//===================================================
:[code]
final Cursor cursor = cr.query(CallLog.Calls.CONTENT_URI, new String[]{CallLog.Calls.NUMBER,CallLog.Calls.CACHED_NAME,CallLog.Calls.TYPE}, null, null,CallLog.Calls.DEFAULT_SORT_ORDER);[/code]

中CallLog.Calls.TYPE就是电话类型,
public class CallLog 类中:[code]public static final int INCOMING_TYPE = 1;
public static final int OUTGOING_TYPE = 2;
public static final int MISSED_TYPE = 3;[/code]不难看出来电:1,拨出:2,未接:3
至于记录时间,Calls里面有DATE可查,查出来的结果是毫秒级的时间,需要转换时间格式


//=====================================================
时间格式化 :[code]
SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date(Long.parseLong(cursor.getString(cursor.getColumnIndexOrThrow(CallLog.Calls.DATE))));
String time = sfd.format(date);//格式化的效果:例如2010-01-08 09:10:11
[/code]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值