android查询通话记录小结

本文介绍了在Android项目中查询通话记录遇到的问题及解决方案。当按照电话号码查询通话记录时,发现查询结果不全,对比数据库后发现是由于号码在通讯录中可能包含空格而查询条件未考虑这一情况。解决办法是在查询时同时考虑有无空格的号码,确保记录的完整性。
摘要由CSDN通过智能技术生成

项目中到通讯录以及通话记录的查询,本来在网上查了下资料,以为很简单就能实现。通讯录的查询没有什么问题,但是查询通话记录的时候遇到了问题。

当我根据电话号码来查询通话记录的时候,发现基本上查询到的记录只有寥寥几条,远比在手机自带通讯录中的通话记录少,但是我查询所有记录的时候,

获得的数据却没有损失。

这说明,应该是查询条件电话号码有问题,于是就去手机本地的通话记录数据库中查看数据库表,(手机需要获得root权限,并使用RE文件管理器查看)

路径是:data/data/com.android.providers.contacts/databases/contacts2.db

然后打开calls表:

_id number date duration type new name//主要用的就死这几个字段,number即是查询的电话号码,duration是通话时间,type有3个值:1代表呼入,2代表呼出

3代表未接,其他的看名字就知道是什么了,以下是核心代码

ContentResolver resolver = context.getContentResolver();
		
		String projection[] = new String[]{CallLog.Calls.DATE, CallLog.Calls.NUMBER,
			    CallLog.Calls.TYPE, CallLog.Calls.DURATION};
		Cursor recordCursor = resolver.query(CallLog.Calls.CONTENT_URI, projection,"number&
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值