【问题标题】:How to get the contact from the CONTENT URI如何从 CONTENT URI 中获取联系人
【发布时间】:2018-02-23 04:28:41
【问题描述】:

我从我的应用程序(如在 whatsapp 中)向我的联系人添加了一个自定义联系人原始数据。当我单击自定义原始文件时,它会打开我的应用程序。在我的查看活动中,我检查操作并从 getIntent().getDataString() 获取内容 URI。它给了我这个 - content://com.android.contacts/data/10399。 现在我想从这个 URI 中获取联系方式。但是当我使用以下代码检查我的联系人列表时。

void checkContacts(Context context) {
    Cursor cursor = context.getContentResolver().query(
            ContactsContract.Data.CONTENT_URI,
            null,
            null, null, null);
    if (cursor != null) {
        Log.e(TAG, String.valueOf(cursor.getCount()));
        try {
            while (cursor.moveToNext()) {
                Log.e(TAG, cursor.getString(cursor
                        .getColumnIndexOrThrow(ContactsContract.Data.CONTACT_ID)));
                Log.e(TAG, "** " + cursor.getString(cursor
                        .getColumnIndexOrThrow(ContactsContract.Data.RAW_CONTACT_ID)));
            }
        } finally {
            cursor.close();
        }
    }
}

但我找不到任何与10399 相关的CONTACT_IDRAW_CONTACT_ID。 那么如何从这个 URI 中获取联系方式呢? 我不想得到所有的联系方式。我想获取与URI相关的具体联系人。

【问题讨论】:

  • 阅读我的描述。它不是关于获得所有联系人。我想从内容 URI 中获取特定联系人 - content://com.android.contacts/data/10399

标签: android contacts android-contacts android-contentresolver


【解决方案1】:

试试这样的

Uri uri = data.getData();
String[] projection = {
    ContactsContract.CommonDataKinds.Phone.NUMBER, 
    ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME 
};

Cursor cursor = getApplicationContext().getContentResolver().query(uri, projection,
    null, null, null);
cursor.moveToFirst();

int numberColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER);
String number = cursor.getString(numberColumnIndex);

int nameColumnIndex = cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME);
String name = cursor.getString(nameColumnIndex);

cursor.close();

【讨论】:

  • 谢谢!它起作用了..好像我得到了ContactsContract.Data._ID。它既不是ContactsContract.Data.CONTACT_ID 也不是ContactsContract.Data.RAW_CONTACT_ID
猜你喜欢
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多