我希望我的应用程序通过Android上的标准Contacts界面提示用户创建新联系人。然后,我希望能够从新创建的联系人中读取信息。添加联系人intent不会返回数据onActivityResult在ICS下
我的代码基于this网站的“添加新联系人”。
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType(Contacts.CONTENT_TYPE);
intent.putExtra(ContactsContract.Intents.Insert.PHONE, number);
startActivityForResult(intent, PICK_CONTACT);
然后
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
Intent intent = new Intent(this, Foo.class);
Uri uri = data.getData(); //I get nullpointer here on ICS
intent.putExtra("contact", ContactAccessor.getInstance().loadContact(this, uri));
startActivity(intent);
finish();
}
此代码运行在Android 2.2和2.3细。它启动联系人应用程序,并让用户输入名称和电子邮件地址等内容,当它们完成并点击“确定”或“保存”或“不管”时,它会返回到我的应用程序,我可以读取它们输入的内容。在Android 4.0(ICS)上,当用户创建联系人时,它不会返回到我的应用程序。当我退出联系人视图(通过后退按钮)时,它不包含任何联系人信息。
我应该用什么意图在ICS上获得相同的行为?
我有同样的问题:( – 2012-03-20 18:27:26
http://stackoverflow.com/questions/9551821/android-4-0-3-and-finish-activity 我有类似的问题。 – user1247617 2012-03-25 03:40:10
我问题是,如果我打开另一个活动,并返回到onActivityResult()上的父活动,但当我尝试捕获图像使用intent onActivityResult()之前调用捕获或取消相机事件之前调用它的工作原理和这个问题发生在Android 4.03 htc me) – 2012-09-25 09:51:21