【问题标题】:Phone.IS_PRIMARY not giving primary number for contact: AndroidPhone.IS_PRIMARY 未提供联系人的主要号码:Android
【发布时间】:2013-06-17 05:50:05
【问题描述】:

我正在尝试在 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。

我想知道哪个号码已被设置为联系人的默认号码。

【问题讨论】:

    标签: android default contact phone-number


    【解决方案1】:

    尝试将Phone.IS_SUPER_PRIMARY 用作per the docs

    这是否是它所属的聚合联系人的同类主要条目。任何“超级主要”的数据记录也必须是“主要的”。例如,超主条目可能被解释为同类的默认联系人值(例如,用于联系人的默认电话号码)。

    【讨论】:

      猜你喜欢
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 2011-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-14
      相关资源
      最近更新 更多