Android系统.使用contact_id或contact_name通过intent打开联系人

use*_*724 5 android android-intent

我在Android中使用ContactsContract API来获取联系人列表.工作正常.

现在我希望当我点击该列表中的名称时,会生成一个意图,该意图将在android联系人管理器中打开联系人.

The following code crashes the app:
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(ContactsContract.Contacts.CONTENT_URI + "/" + ContactsContract.Contacts._ID));
Run Code Online (Sandbox Code Playgroud)

请用这个意图帮助我

Soh*_*ham 13

这应该显示android联系人管理器中的联系人'卡'

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

  • 我建议使用`intent.setDataAndType(uri,"vnd.android.cursor.dir/contact")` - 如果有几个应用程序适用于显示联系人,那么用户将看到带有应用程序列表的选择器对话框.如果使用`intent.setData(uri)`则不会显示选择器. (5认同)