13032917575怎么查别人的通话记录录

移动手机通话记录清单怎么查询_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
移动手机通话记录清单怎么查询
上传于||暂无简介
大小:86.52KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢android开发
项目中到通讯录以及通话记录的查询,本来在网上查了下资料,以为很简单就能实现。通讯录的查询没有什么问题,但是查询通话记录的时候遇到了问题。
当我根据***号码来查询通话记录的时候,发现基本上查询到的记录只有寥寥几条,远比在手机自带通讯录中的通话记录少,但是我查询所有记录的时候,
获得的数据却没有损失。
这说明,应该是查询条件***号码有问题,于是就去手机本地的通话记录数据库中查看数据库表,(手机需要获得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=? or number=?&
, phone, CallLog.Calls.DEFAULT_SORT_ORDER);
SimpleDateFormat sfd = new SimpleDateFormat(&MM-dd HH:mm&,Locale.getDefault());
if(recordCursor != null){
while(recordCursor.moveToNext()){
String date = sfd.format(new Date(recordCursor.getLong(
recordCursor.getColumnIndex(CallLog.Calls.DATE))));
String phoneNum = recordCursor.getString(recordCursor.getColumnIndex(CallLog.Calls.NUMBER));
int type = recordCursor.getInt(recordCursor.getColumnIndex(CallLog.Calls.TYPE));
int duration = recordCursor.getInt(recordCursor.getColumnIndex(CallLog.Calls.DURATION));
recordCursor.close();
projection是需要查询的字段,resolver.query(CallLog.Calls.CONTENT_URI, projection,&number=? or number=?&, phone, CallLog.Calls.DEFAULT_SORT_ORDER);这几个参数分别是所查询表的路径,查询字段,条件,条件的值,排序;其中phone是一个字符串数组,里面的值分别填充查询条件里面的?;
为什么我查询条件是number=? or number=?,我查1个***号码的通话记录干嘛等于2个值?
我一开始就是number=?,然后查询记录总是少,通过查询数据库表里面的值和程序里面打印的值,终于知道错在哪了,
原因就是在通讯录里面添加联系人然后保存号码的时候,如果你是自己手动输入的话,一般都会自动空格,比如135 这样保存的,
那么在数据库表里面也是有空格的,然后如果你这个号码丢失了,你问别人要回来,直接复制添加,这样没有空格,数据库表里面
也就没有空格,所以你查询的时候只按照一个number无论是有空格还是没有空格都可能会有记录丢失。
知道原因在哪,问题就好解决了,查询的时候传入2个参数,有空格和无空格的就能保证全部查询啦。。。
最好上一张我做好的DEMO作为结束,第一次写博客,望多指教啊......
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:819次
排名:千里之外历史的通话记录可以查到吗_百度知道查看: 4172|回复: 8
有没有办法查自己8年前的手机通话记录?
注册时间10-5-12
在线时间598 小时
最后登录16-8-16
主题帖子八通币
硕士生, 积分 4683, 距离下一级还需 317 积分
硕士生, 积分 4683, 距离下一级还需 317 积分
注册时间10-5-12
发表于 12-3-1 14:52:24
哪位大侠知道?
注册时间06-6-16
在线时间3779 小时
最后登录16-10-4
主题帖子八通币
我就是—我愛羅-耗子 西班牙艺术足球必胜!
副教授, 积分 39016, 距离下一级还需 984 积分
副教授, 积分 39016, 距离下一级还需 984 积分
注册时间06-6-16
发表于 12-3-1 14:53:08
直接去营业厅问吧。
注册时间10-9-12
在线时间624 小时
最后登录16-10-6
主题帖子八通币
博士生, 积分 7758, 距离下一级还需 2242 积分
博士生, 积分 7758, 距离下一级还需 2242 积分
注册时间10-9-12
发表于 12-3-1 15:41:05
注册时间12-2-27
在线时间0 小时
最后登录12-4-13
主题帖子八通币
大学生, 积分 1117, 距离下一级还需 1883 积分
大学生, 积分 1117, 距离下一级还需 1883 积分
注册时间12-2-27
发表于 12-3-1 15:41:27
& && && && && &
注册时间10-12-3
在线时间103 小时
最后登录12-12-6
主题帖子八通币
八通灌水党军委主席
博士后, 积分 11945, 距离下一级还需 13055 积分
博士后, 积分 11945, 距离下一级还需 13055 积分
注册时间10-12-3
发表于 12-3-1 15:41:53
不是最多半年吗?
注册时间08-12-5
在线时间3384 小时
最后登录16-8-18
主题帖子八通币
副教授, 积分 32426, 距离下一级还需 7574 积分
副教授, 积分 32426, 距离下一级还需 7574 积分
注册时间08-12-5
发表于 12-3-1 15:48:10
8年前,够远的啊
注册时间07-9-25
在线时间623 小时
最后登录16-9-8
主题帖子八通币
博士生, 积分 6010, 距离下一级还需 3990 积分
博士生, 积分 6010, 距离下一级还需 3990 积分
注册时间07-9-25
发表于 12-3-1 16:37:59
难吧,恐怕不行
注册时间10-5-12
在线时间598 小时
最后登录16-8-16
主题帖子八通币
硕士生, 积分 4683, 距离下一级还需 317 积分
硕士生, 积分 4683, 距离下一级还需 317 积分
注册时间10-5-12
发表于 12-3-1 20:11:21
也不知道怎么了,总是想起以前的一些人、一些事,有些人一直没联系过了,回想起当时在一起喝酒、蛋B的时候是那么亲切。我手机号用了14年了,从没换过,但经历的朋友一茬一茬的。真想那些远去但又有很多回忆的哥们们。
注册时间11-5-5
在线时间3129 小时
最后登录16-10-4
主题帖子八通币
副教授, 积分 25087, 距离下一级还需 14913 积分
副教授, 积分 25087, 距离下一级还需 14913 积分
注册时间11-5-5
发表于 12-3-1 20:17:31
晕,时间也太长了吧
白羊座(3/21-4/20)
白羊座(3/21-4/20)
天蝎座(10/23-11/21)
天蝎座(10/23-11/21)
八通车友会
GMT+8, 16-10-6 10:12
Powered by

参考资料

 

随机推荐