簡體   English   中英

無法從某些聯系人獲取詳細聯系信息

[英]Cannot get contact details from some contact

我現在已經拔掉了大部分頭發,在完全變粗之前,確實需要一些幫助

我正在嘗試啟動動作選擇器以選擇具有電話號碼的聯系人。 選擇該聯系人后,我要提取姓名和電話號碼。

但這僅適用於某些聯系人,而不是全部。 代碼很糟糕,如下所示:

選擇聯系人:

Intent contactPicker = new Intent(Intent.ACTION_PICK, contactsContract.CommonDataKinds.Phone.CONTENT_URI);
startActivityForResult(contactPicker, REQ_PICK_CONTACT);

提取ID(注意getData().getLastPathSegment()

onContactForImportPicked(intent.getData().getLastPathSegment());

然后我嘗試獲取此聯系人:

String[] fields = new String[] {
    ContactsContract.CommonDataKinds.Phone.NUMBER,
    ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME_PRIMARY
};

Cursor cursor = content.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
   fields,
   ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=?", new String[] { id }, // SEE BELOW
   null);

至此,可以正確提取許多聯系人,但是很多聯系人都不存在。 cursor.getCount() == 0 在上面的“下面看到”部分中,我嘗試了其他各個字段,鏈接了Contact._IDPhone._ID等。

知道為什么不使用此方法獲取某些聯系人嗎?

使用您的代碼時,我什至找不到正確選擇的聯系人。 意圖數據包含所需數據的URI,因此您可以直接使用它。

嘗試-

 Cursor cursor = content.query(data.getData(),
                fields,
                null,
                null,
                null);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM