2010-06-11 60 views
2

我正在嘗試在通話記錄和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"); 

請幫我解決我的問題。我很久沒有找到解決方案,我一直堅持這一點。

回答

相關問題