2013-05-15 90 views
0

如果我將值分配給聯繫人的字段,如暱稱;的Android訪問聯繫人數據

.withValue(Nickname.NAME, "Mr. Incredible") 

它是按照http://developer.android.com/reference/android/provider/ContactsContract.CommonDataKinds.Nickname.html

存儲在DATA1欄但是,如果我添加了一個SIP地址與SipAddress.SIP_ADDRESS()它的價值也被分配給列DATA1。我如何區分這兩者?我對如何訪問聯繫人特定的字段感到困惑,我無法在Android Reference中找到解釋。

我專門使用

SimpleCursorAdapter(getActivity(), 
         R.layout.contact_list, null, new String[] { 
         SipAddress.DISPLAY_NAME, SipAddress.SIP_ADDRESS, Nickname.NAME}, 
         new int[] { 
         R.id.text1, R.id.text2, R.id.text3}, 0); 

回答

1

請嘗試,

try { 
    Cursor cursor = getContentResolver().query(ContactsContract.Data.CONTENT_URI, 
        new String[]{ContactsContract.Data.DISPLAY_NAME}, 
        ContactsContract.CommonDataKinds.Nickname.DATA1 + "=" + text, null, null); 

    cursor.moveToFirst(); 
    String Nickname = cursor.getString(0); 
} 
catch (Exception e) { 
} 
+0

我得到這個問題:無法從類型ContextWrapper – ono

+0

使靜態參考非靜態方法getContentResolver()還等什麼是'文本'變量 – ono

+0

從我的代碼,只是刪除;) – Oli

0

是其與字符串SIP_ADDRESS保存在ContactsContract.DataColumns.DATA1。願這可以幫助你ContactsContract.CommonDataKinds.SipAddress

編碼愉快!

+0

兩個暱稱和SIP地址在DATA1?我如何分別訪問它們?假設我只想要綽號。 – ono

+0

ContactsContract.CommonDataKinds.SipAddress.MIMETYPE/ContactsContract.CommonDataKinds.Nickname.NAME? :) – Oli

+0

他們都還是回到 '數據1' :( – ono