gpt4 book ai didi

android - 联系人——如何区分SIM卡、电话和其他联系人?

转载 作者:行者123 更新时间:2023-11-30 02:07:28 27 4
gpt4 key购买 nike

我正在读取手机中的所有联系人,如下所示:

Cursor cursor = MainApp.get().getContentResolver().query(
ContactsContract.Data.CONTENT_URI,
null,
null,
null,
ContactsContract.Data.CONTACT_ID + " ASC");

我从联系人中读取了 ContactsContract.Data.ACCOUNT_TYPE_AND_DATA_SETContactsContract.RawContacts.ACCOUNT_NAME 并对其进行了分析,因为我想区分手机、SIM 卡和任何其他联系人。 .. 但我只能看到这些值是非常特定于手机的。

1) 我目前只知道 ContactsContract.Data.ACCOUNT_TYPE_AND_DATA_SET 的以下值:

  • 电话联系

    • com.sonyericsson.localcontacts(索尼 Xperia S)
    • vnd.sec.contact.phone(三星 Galaxy Alpha)
  • SIM 卡联系人

    • com.sonyericsson.adncontacts(索尼 Xperia S)
    • vnd.sec.contact.sim(三星 Galaxy Alpha)

2) 我目前只知道 ContactsContract.Data.ACCOUNT_NAME 的以下值:

  • 电话联系

    • 电话联系人(索尼 Xperia S)
    • EMPTY(三星 Galaxy Alpha)
  • SIM 卡联系人

    • SIM 联系人(索尼 Xperia S)
    • primary.sim.account_name(三星 Galaxy Alpha)

Google、WhatsApp、Viber 联系人很容易识别,但如何在所有手机上(或至少在大多数手机上)找出一个联系人是手机联系人还是 sim 联系人?

我不想为 SIM 联系人显示“vnd.sec.contact.sim”,而是想显示“SIM”。

有人知道我的列表的其他字符串吗?或者有人知道更好的解决方案吗?

最佳答案

要从 SIM 卡中获取联系人,请使用:

Uri simUri = Uri.parse("content://icc/adn");
Cursor cursorSim = this.getContentResolver().query(simUri, null, null,null, null);

while (cursorSim.moveToNext()) {
listName. add(cursorSim.getString(cursorSim.getColumnIndex("name")));
listContactId. add(cursorSim.getString(cursorSim.getColumnIndex("_id")));
listMobileNo. add(cursorSim.getString(cursorSim.getColumnIndex("number")));
}

name, _id, number 是 SIM 联系人表中的字段

对于电话使用的联系人

   Cursor cursor = mContentResolver.query(
RawContacts.CONTENT_URI,
new String[]{RawContacts._ID,RawContacts.ACCOUNT_TYPE},
RawContacts.ACCOUNT_TYPE + " <> 'com.anddroid.contacts.sim' "
+ " AND " + RawContacts.ACCOUNT_TYPE + " <> 'com.google' " //if you don't want to google contacts also
,
null,
null);

关于android - 联系人——如何区分SIM卡、电话和其他联系人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30479059/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com