我希望我的應用程序通過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