无法从Android中的呼叫日志和联系人历史记录中获取相同的联系人号码
我正试图在android手机的通话记录和联系人簿中搜索特定的联系人号码。无法从Android中的呼叫日志和联系人历史记录中获取相同的联系人号码,android,Android,我正试图在android手机的通话记录和联系人簿中搜索特定的联系人号码。 但我发现联系人号码以不同的方式存储在联系人簿和通话记录中。例如,我有一个联系电话9889880912可在通话记录和联系簿中搜索 为此,我执行以下操作: 在android emulator中添加联系人。当我将联系人的联系人号码写为9889880912时,它会自动更改为988-988-0912。破折号(-)会自动插入联系人号码中。我保存了号码 从仿真器拨打此号码 现在,使用我的代码, 当我通过9889880912在联系人列表中
但我发现联系人号码以不同的方式存储在联系人簿和通话记录中。例如,我有一个联系电话9889880912可在通话记录和联系簿中搜索 为此,我执行以下操作: 在android emulator中添加联系人。当我将联系人的联系人号码写为9889880912时,它会自动更改为988-988-0912。破折号(-)会自动插入联系人号码中。我保存了号码 从仿真器拨打此号码 现在,使用我的代码, 当我通过9889880912在联系人列表中搜索联系人号码时,它不显示任何结果 当我试图通过联系电话988-988-0912进行搜索时,将显示联系人簿中的联系信息 但是,当我试图在通话记录历史中搜索988-988-0912时,它会显示出来。但当我试图在呼叫历史记录中搜索9889880912时,我没有得到任何结果 请帮我解决我的问题。我可以通过联系簿中的9889880912获取联系人搜索 我的代码:
/** Search from contact book **/
Cursor phoneResult = context.getContentResolver().query(
ContactsContract.CommonDataKinds.Phone.CONTENT_URI ,
columnNames,
queryString,
new String[] {String.valueOf(phoneNumber)},
null);
if(phoneResult.getCount() > 0)
Log.d("DEBUG","at least one contact with phonenumber");
/** Search from call log **/
Cursor callLogResult = context.getContentResolver().query(
callLogURI,
columnNames,
Calls.NUMBER + "=?",
new String[]{ String.valueOf(mobileNumber) },
null);
if(callLogResult.getCount() > 0)
Log.d("DEBUG","At least one call Log found");
请帮我解决我的问题。我很长一段时间以来一直在坚持这个问题,并且找不到解决方案。您使用的API级别是什么?有什么限制吗 如果为5或更高,您可以尝试使用PhoneLookup,例如,请参阅: