当我查询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,
};
答案 0 :(得分: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”等结果。