Я пытаюсь позвонить контактам через приложение контактов по умолчанию в простой форме списка.После того, как это сделано, и пользователь нажимает кнопку «Назад», приложение должно получить имена контактов, но каким-то образом Результат активности - resultCode - теперь в порядке, поэтому он не может ничего запрашивать;когда я попытался сделать это, хотя результат не был Activity.RESULT_OK , то он сказал, что намерение в качестве параметра onActivityResult () имеет нулевое значение = NullPointerException .
Если у кого-нибудь есть идея выяснить это, вы мне поможете?Ниже мой код.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
displayContacts();
}
private void displayContacts(){
Intent intent = new Intent(Intent.ACTION_PICK, Contacts.CONTENT_URI);
startActivityForResult(intent, PICK_CONTACT);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case (PICK_CONTACT) :
// The problem happens here. The resultCode is not okay and it throws NullPointerException at data.getData();
if (resultCode == Activity.RESULT_OK) {
Uri contactData = data.getData();
Cursor c = managedQuery(contactData, null, null, null, null);
if (c.moveToFirst()) {
String name = c.getString(c.getColumnIndexOrThrow(Contacts.DISPLAY_NAME));
Log.d("Main", "Name: "+name); // Test: display a name on LogCat
}
}
else{
Log.e("RESULT_OK", "Error");
}
break;
}
}