【发布时间】:2014-12-21 10:07:09
【问题描述】:
我现在已经拔掉了大部分头发,真的需要一些帮助 在我完全大胆之前
我正在尝试启动操作选择器来选择具有电话号码的联系人。 选择该联系人后,我想提取姓名和电话号码。
但这只会发生在某些联系人身上,而不是全部。 代码大致如下:
选择联系人:
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。在“见下文”中
上面的部分,我尝试了其他各种领域,linke
Contact._ID, Phone._ID 等等等等。
知道为什么使用此方法无法获取某些联系人吗?
【问题讨论】: