android 保存具有不同前缀的同一号码分别为A和B,用其中一个呼叫,通话记录一直显示另一个联系人名字的问题

修改文件:请找到CalllogProvider.java

修改前:

nameCursor = DialerSearchUtils.queryPhoneLookupByNumber(db, mDbHelper,

strInsNumber, new String[] {

PhoneLookupColumns.DATA_ID, PhoneLookupColumns.RAW_CONTACT_ID

}, null, null, null, null, null, "1");

修改后:

nameCursor = DialerSearchUtils.queryPhoneLookupByNumber(db, mDbHelper,

strInsNumber, new String[] {

PhoneLookupColumns.DATA_ID, PhoneLookupColumns.RAW_CONTACT_ID, Phone.NUMBER

}, null, null, null, null, null, null);

时间: 2024-07-30 23:40:15

android 保存具有不同前缀的同一号码分别为A和B,用其中一个呼叫,通话记录一直显示另一个联系人名字的问题的相关文章

android 保存 用户名和密码 设置等应用信息优化

1.传统的保存用户名,密码方式 SharedPreferences Editor editor = shareReference.edit(); editor.putString(KEY_NAME,"username_value"); 通过这样的方法,能够基本满足需求,比如有用户名,那么就Editor.putString存放就好. 但是这样的方法有一些弊端: (1)在存放一些集合信息,存储ArrayList就不合适 (2)如果针对用户,新增加了很多熟悉,比如性别,头像等信息,那么需要一

Android笔记——对系统通话记录的删除操作

手机通话记录是保存在数据库中的,位置:  /data/data/com.android.providers.contacts/databases/calllog.db ,表名:calls 这张表中有个type字段,属性值为常量值: 来电:CallLog.Calls.INCOMING_TYPE (常量值:1) 已拨:CallLog.Calls.OUTGOING_TYPE(常量值:2) 未接:CallLog.Calls.MISSED_TYPE(常量值:3) 这是最常见的,number字段表示电话号码

Android通讯录管理(获取联系人、通话记录、短信消息)(二)

http://blog.csdn.net/wwj_748/article/details/19970271 Android通讯录管理(获取联系人.通话记录.短信消息)(二) 2014-02-26 11:40 9076人阅读 评论(11) 收藏 举报  分类: [Android通讯录模块开发](10)  版权声明:本文为博主原创文章,未经博主允许不得转载. Android通讯录管理(获取联系人.通话记录.短信消息)(二) 前言:上一篇博客介绍的是获取联系人的实现,本篇博客将介绍通话记录的实现. 同

Android批量添加通话记录

在前面有提到批量添加联系人:Android批量添加联系人到通讯录,通话记录和通讯录一样都是直接操作ContentProvider.为了使批量更新.插入.删除数据更加方便,android系统引入了 ContentProviderOperation类,使用ContentProviderOperation的理由 1.所有的操作都在一个事务中执行,这样可以保证数据完整性 2.由于批量操作在一个事务中执行,只需要打开和关闭一个事务,比多次打开关闭多个事务性能要好些 3.使用批量操作和多次单个操作相比,减少

Android通讯录管理二之通话记录获取

上一篇博客讲的是获取联系人信息,这篇是获取通话记录 同样你可以在这里下载http://download.csdn.net/detail/waniu123/8554533 package cn.zxw.contact.domain; /** * 通话记录 * @author zhan * */ public class CallLogInfo { public String number; public long date; public int type; public CallLogInfo(

Android实战简易教程-第五十九枪(EventBus小实例-传值、控制其他页控件显示)

页面之间的传值,有android基础的童鞋都会知道,可以通过Intent进行传值,但是动态控制另一个页面控件的显示恐怕这个就不好用了吧,下面我们介绍一个比较好用的框架-EventBus,通过实例介绍它的使用(要引入jar包才能使用EventBus,jar包在源码下载中). 一.介绍一下EventBus 使用EventBus的步骤: 1.新建一个类:作为消息类 /** * */ package com.example.eventbusdemo; /** * @author yayun * @sin

android 通话记录条数的限制

在frameworks\base\core\java\android\provider下面有CallLog.java,这支文件里,每当完成一通电话向call表中插入一条callLog记录后,调用removeExpiredEntries这个函数将超过500条的那条记录 如果要对其限制条件进行修改的话,可以对这个函数进行 E.g:根据不同类型的通话记录对其进行限制,步骤如下: 1.首先对函数添加一个callType的参数(INCOMING_TYPE = 1; OUTGOING_TYPE = 2; M

操作Android中联系人,通话记录,短息,的URI,和具体的查询语句,字段注解。(根据自己需求)

记住读取联系人需要配置权限:<uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.WRITE_CONTACTS" /> 读取联系人的URI: /** * 所有联系人的查询语句 * cotacts2联系人数据库中 * 与联系人相关的几张数据表 * contacts

[Android编程]如何操作通话记录

Android的通话记录都实现在静态类android.provider.CallLog.Calls中. 首先需要读写通话记录的的权限 <uses-permission android:name="android.permission.READ_CALL_LOG"/> <uses-permission android:name="android.permission.WRITE_CALL_LOG"/> ? 读取 Cursor cursor =