如何从 CONTENT URI 获取联系人

维汉加·亚西斯

我从我的应用程序(如在 whatsapp 中)向我的联系人添加了一个自定义联系人 raw。当我单击自定义原始数据时,它会打开我的应用程序。在我的查看活动中,我检查了操作并从getIntent().getDataString(). 它给了我这个 - 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();
        }
    }
}

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

穆罕默德·阿桑

尝试这样的事情

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();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法从 ContactsContract.Contacts.CONTENT_URI 获取已删除的联系人

如何从联系人获取联系人图像URL?

如何从列表视图的onItemClick()获得的列表项的联系人Uri中检索数据?

如何从 Android 联系人中的联系人 ID 中获取只读帐户名称

Android手机查找(PhoneLookup.CONTENT_FILTER_URI)多次返回同一联系人

如何在Swift中获取联系人全名

Android-如何获取已保存的联系人ID

如何以编程方式从Android获取whatsapp联系人?

如何获取邮件联系人所属的所有组?

如何获取联系人并使用flutter打印它们?

如何获取联系人的昵称Windows Phone 8.1

如何使用CNContactStoreDidChangeNotification获取更新/添加/删除的联系人

如何在iOS中获取联系人?

如何从Azure广告图API获取联系人

如何获取arraylist中重复联系人的计数

我如何获取所选联系人的电话号码

如何从uwp C#获取联系人列表?

联系人的照片uri错误

如何恢复联系人?

如何使用联系人框架在iOS 9中获取所有联系人记录

Android如何通过我的通话记录联系人电话号码获取联系人ID

Google People API / 其他联系人 - 如何获取其他联系人的照片?

如果“联系人”记录在NetSuite中的“公司”字段为空,则如何获取与公司关联的联系人

如何获取短信给Android中每个联系人/人的确认信息?

在联系人列表中查询所选联系人-多个URI是Android吗?

如何在xero“发票”发布/获取api调用中包含/获取“目标联系人”。

使用URI方案与多个联系人启动团队聊天

如何从Android手机获取已删除的联系人以及如何还原它

如何保存Google联系人ID?