我如何获得联系人/电话号码的“提供商”(skype / whatsapp / google)

问题描述 投票:2回答:1

当我查询android的联系人提供者时,如何获取“电话号码的联系人提供者”(google / skype / whatsapp / ...)?

目前,我的投影中包含这些字段,但是我找不到包含有关联系人/号码的“联系人提供者”信息的字段。

import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.CommonDataKinds.Phone;

static final String[] CONTACTS_SUMMARY_PROJECTION = new String[] {
    Contacts._ID,
    Contacts.DISPLAY_NAME,
    Contacts.CONTACT_STATUS,
    Contacts.CONTACT_PRESENCE,
    Contacts.PHOTO_ID,
    Contacts.LOOKUP_KEY,
    Phone.TYPE,
    Phone.LABEL,
    Phone.NUMBER,
};
android android-contentprovider android-contacts contactscontract
1个回答
0
投票

这是一个很老的问题,但也许将来会帮助某人:尝试执行以下操作(在Kotlin中,但对于Java类似):

val cursor = context.contentResolver.query(
                 ContactsContract.Contacts.CONTENT_URI,
                 arrayOf(ContactsContract.RawContacts.ACCOUNT_TYPE),
                 null,
                 null,
                 null)
while (cursor.moveToNext()) {
    Log.d(TAG, cursor.getString(cursor.getColumnIndex(ContactsContract.RawContacts.ACCOUNT_TYPE)))
}

这将为您提供“ com.google”,“ com.whatsapp”,“ org.telegram.messenger”等结果。

© www.soinside.com 2019 - 2024. All rights reserved.