Tôi muốn ứng dụng của mình nhắc người dùng tạo liên hệ mới thông qua giao diện Danh bạ chuẩn trên Android. Sau đó, tôi muốn có thể đọc thông tin từ người liên hệ mới được tạo.Thêm mục đích liên hệ không trả lại dữ liệu trênActivityResult theo ICS
Mã của tôi dựa trên "Thêm liên hệ mới" từ trang web this.
Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType(Contacts.CONTENT_TYPE);
intent.putExtra(ContactsContract.Intents.Insert.PHONE, number);
startActivityForResult(intent, PICK_CONTACT);
và sau đó
@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();
}
Mã này chạy tốt trên Android 2.2 và 2.3. Nó bắt đầu ứng dụng danh bạ và cho phép người dùng nhập nội dung như tên và địa chỉ email và khi họ hoàn thành và nhấn "ok" hoặc "save" hoặc "what" nó trở lại ứng dụng của tôi và tôi có thể đọc nội dung họ đã nhập. Trên Android 4.0 (ICS) tuy nhiên nó không trở lại ứng dụng của tôi, khi người dùng hoàn tất việc tạo liên hệ. Và khi tôi thoát khỏi giao diện liên lạc (thông qua nút quay lại), nó không bao gồm bất kỳ ý định nào với thông tin liên lạc.
Tôi nên sử dụng mục đích gì để có được hành vi tương tự trên ICS?
Tôi đang gặp vấn đề tương tự :( –
http://stackoverflow.com/questions/9551821/android-4-0-3-and-finish-activity Tôi gặp vấn đề tương tự. – user1247617
của tôi vấn đề là nó hoạt động nếu tôi mở một hoạt động khác và quay trở lại hoạt động của cha mẹ trên onActivityResult() nhưng khi tôi cố gắng chụp ảnh bằng cách sử dụng intent onActivityResult() được gọi trước khi tôi chụp hoặc hủy sự kiện camera và sự cố này xảy ra trong android 4.03 (thử nghiệm trên htc me) –