如何从电话簿和SIM卡获取联系人,但在Android中的Skype,Facebook等

时间:2014-11-25 16:48:18

标签: android

我尝试检索电话簿和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);

}

1 个答案:

答案 0 :(得分:0)

本教程可以帮助您从Android设备中获取联系人:

http://www.c-sharpcorner.com/UploadFile/1e5156/fetch-contacts-from-android-phone-in-android-studio/

Lemme知道它是否有帮助