0
    String exactname = "Joe Blogs"

我已经搜索了使用DISPLAY_NAME而不是联系人的_ID直接打开联系人的方法。

编辑:乔博客绝对是一个独特的条目。

这个答案

    Intent intent = new Intent(Intent.ACTION_VIEW);
    Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_URI, String.valueOf(contactID));
    intent.setData(uri);
    context.startActivity(intent);

我是否必须先查询 Joe Blogs 的 ID,然后才能以与上述类似的意图打开他的联系人?还是我(希望)错过了什么?

提前致谢。

4

1 回答 1

1

是的,您需要使用类似的方式查询您的数据库,

Cursor cur = getContentResolver().query(CONTENT_URI, null, DISPLAY_NAME + "=?", new String[] { "Joe Blogs" }, null);

然后检索 with 返回的行Cursor

if (!cur.moveToFirst()) {
    // Then the cursor isn't empty. Get the contact's id.
    contactId = cur.getInt(cur.getColumnIndex(CONTACT_ID));
}

这将返回与Cursor.

于 2012-06-07T12:48:25.820 回答