【问题标题】:How can I get the "provider" (skype/whatsapp/google) of the contact/phone-number如何获取联系人/电话号码的“提供者”(skype/whatsapp/google)
【发布时间】:2016-06-28 02:17:32
【问题描述】:

当我查询 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】:

这是一个相当古老的问题,但也许它会在未来帮助某人:

尝试执行以下操作(在 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”等结果...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-03
    • 2016-12-26
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多