android - 如何打开联系人并让用户决定他/她是否要创建或选择一个联系人

标签 android android-intent android-contacts

我正在尝试打开联系人并让用户决定他/她是否要创建选择联系人以在我的应用中使用它。

我需要这样的东西: I need something like this

用户可以在第一个选项中添加新联系人的位置。

我尝试了以下代码:

Intent i = new Intent(Intent.ACTION_INSERT_OR_EDIT);
i.setType(ContactsContract.Contacts.CONTENT_TYPE);
i.putExtra("finishActivityOnSaveCompleted", true); // Fix for 4.0.3 +
startActivityForResult(i, CARREGA_CONTATOS);

但是在 Logcat 上出现了这个错误(就在 startActivityForResult 之后):

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.INSERT_OR_EDIT typ=vnd.android.cursor.dir/contact (has extras) }

我做错了什么?

编辑:

我试过这段代码也有类似的结果:

Intent intent = new Intent(
    Intent.ACTION_INSERT_OR_EDIT,
    ContactsContract.Contacts.CONTENT_URI
);
startActivityForResult(intent, CARREGA_CONTATOS);

android.content.ActivityNotFoundException: No Activity found to handle Intent { act=android.intent.action.INSERT_OR_EDIT dat=content://com.android.contacts/contacts }

编辑 2: 几乎是我需要的:

Intent i = new Intent(Intent.ACTION_GET_CONTENT);
i.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
i.putExtra("finishActivityOnSaveCompleted", true); // Fix for 4.0.3 +
startActivityForResult(i, CARREGA_CONTATOS);

但此代码打开此图像,用户必须选择“联系人”才能转到我想要的位置。 But this code opens this image

最佳答案

你试过这个吗:https://stackoverflow.com/a/12722921/4029129

Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);
intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);
startActivity(intent);

关于android - 如何打开联系人并让用户决定他/她是否要创建或选择一个联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29989529/

相关文章:

android - Android CallLog.Calls TYPE 的意外值

java - 我在哪里放置 Intent 代码?

android - 在特定时间启动 Activity

android - android中调用结束过程的 Action 事件

java - 如何通过json将包含图像的对象发送到服务器

android - 插入具有特定 contactid 的 RawContact

android - 如何使用联系人的 lookup_key 删除联系人

java - 使用 Jackson 将 JSON 解析为对象

java - 是否正在播放任何音频? (在安卓中)

只有电话号码的 Android 联系人选择器