我试图在 Android 中获取联系人的主要号码,但没有得到想要的结果。
使用以下代码
cursor = getActivity().getContentResolver().query(Phone.CONTENT_URI, null, Phone.CONTACT_ID + "=?", new String[] { id }, null);
phoneIdx = cursor.getColumnIndex(Phone.DATA);
if (cursor.moveToFirst()) {
while (cursor.isAfterLast() == false) {
String phoneNumber = cursor.getString(phoneIdx);
Log.d(TAG,"Number:::"+ phoneNumber);
int primary = cursor.getColumnIndex(Phone.IS_PRIMARY);
Log.d(TAG, "primary value:::"+ primary);
allNumbers.add(phoneNumber);
cursor.moveToNext();
}
}
我有2个号码的联系方式。通过长时间保持数字并选择“设置为默认值”,将其中一个设置为主要。当我在上述联系人上运行此代码时,PHONE.IS_PRIMARY 为这两个号码返回 45。
我想知道哪个号码已被设置为联系人的默认号码。