我正在嘗試在通話記錄和Android手機的通訊錄中搜索特定的聯繫人號碼。
但我發現聯繫號碼以不同的方式存儲在通訊錄和通話記錄中。對於例如我有一個聯繫號碼9889880912在通話記錄和聯繫簿中進行搜索。無法從通話記錄和Android中的聯繫人記錄中獲取相同的聯繫人號碼
要做到這一點,我做了以下內容:
添加在Android模擬器中的聯繫人。當我將聯繫人的聯繫號碼寫入爲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");
請幫我解決我的問題。我很久沒有找到解決方案,我一直堅持這一點。