android - 如何检测联系人的默认电话号码(如果已设置)

标签 android android-contacts

ATM 我得到给定 CONTACT_ID 的号码和标签

String where =  ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId;
Cursor c = ctx.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, where, null, null);
while (c.moveToNext()) {
     String number = Tools.getString(c, CommonDataKinds.Phone.NUMBER);
     String label = Tools.getString(c,CommonDataKinds.Phone.LABEL);
}

Android 可以将给定号码标记为“默认号码”。 如何判断查询的号码是否为默认号码?

最佳答案

尝试查询列 IS_SUPER_PRIMARY在您的 CONTENT_URI 查询中。

如果它返回一个非零值,则该条目可能被解释为其类型的默认联系人值(例如,联系人使用的默认电话号码)。

更多信息:http://developer.android.com/reference/android/provider/ContactsContract.Data.html

关于android - 如何检测联系人的默认电话号码(如果已设置),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6474019/

相关文章:

android - 通过 LOOKUP_KEY 和 openContactPhotoInputStream 便捷方法加载联系人图片

java - 如何使用 ListView 删除 Android Studio 显示中的重复联系人

android - android ContactsContract中的地址字段在哪里

android - 广播接收器未通过服务接收 Intent

android - 我想知道为什么asset_manager(android ndk)没有遍历目录的接口(interface)

java - 蓝牙启动发现未给出结果

android - 无法将视频保存到特定文件夹

android 检查联系人是否安装了 android 应用程序(如 whatsapp)

android - 拖放 ImageView 不起作用

csv - 合并来自 vcf 的大量联系人的重复项