我正在向应用程序添加联系人选择器功能,以及将应用程序中的联系人添加到本机联系人管理器的功能。对于插入,我正在启动联系人管理器,如下所示:
Intent intent = new Intent(ContactsContract.Intents.Insert.ACTION);
intent.setType(ContactsContract.RawContacts.CONTENT_TYPE);
intent.putExtra(ContactsContract.Intents.Insert.PHONE, mCurrentNumber);
intent.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, "MyType");
mActivity.startActivityForResult(intent, ADD_CONTACT);
这将成功打开联系人管理器并使用指定的电话号码填充它。但是,在我的 Nexus 7 平板电脑上,当联系人管理器返回时,它会返回主屏幕并且不会向我的应用发送任何类型的响应。这可以正常工作并在我的 ICS 设备上按预期返回,但我不知道这是否是因为 ICS 设备使用的是制造商的自定义联系人管理器,而 Nexus 7 是 Google 的。
任何人都可以对这个问题有所了解吗?我启动联系人管理器的方式有问题吗?
编辑:我还应该补充一点,如果我从 Nexus 7 上的联系人管理器选项菜单中选择“放弃”,它确实会按预期返回到我的应用程序。只有当我选择“完成”按钮时才会出现问题。选择“完成”导航到联系人管理器的主菜单,此时任何退出联系人管理器的尝试都会将用户带到主屏幕。