我尝试检索电话簿和SIM卡中的联系人列表,不包括来自Skype,Google,Facebook等的联系人。我使用以下代码,但它仅适用于三星设备,我认为因为" vnd.sec.contact.phone"和" vnd.sec.contact.sim"用作ACCOUNT_TYPE字段的选择参数与供应商相关。如何在更多"泛型"中重写此代码?方式是什么?
private Cursor getContactsNew()
{
// Run query
Uri uri = ContactsContract.RawContacts.CONTENT_URI;
String[] projection = new String[] {
ContactsContract.RawContacts._ID,
ContactsContract.RawContacts.CONTACT_ID,
ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY,
ContactsContract.RawContacts.ACCOUNT_TYPE
};
String selection = ContactsContract.RawContacts.ACCOUNT_TYPE + "= ? OR " + ContactsContract.RawContacts.ACCOUNT_TYPE + "= ?";
String selectionArgs = new String[] { "vnd.sec.contact.phone", "vnd.sec.contact.sim" };
String sortOrder = ContactsContract.RawContacts.DISPLAY_NAME_PRIMARY + " COLLATE LOCALIZED ASC";
ContentResolver cr = getContentResolver();
return cr.query(uri, projection, selection, selectionArgs, sortOrder);
}
答案 0 :(得分:0)
本教程可以帮助您从Android设备中获取联系人:
http://www.c-sharpcorner.com/UploadFile/1e5156/fetch-contacts-from-android-phone-in-android-studio/
Lemme知道它是否有帮助