Android 如何从People.CONTENT\u URI返回而不出错?

Android 如何从People.CONTENT\u URI返回而不出错?,android,back-button,android-contacts,Android,Back Button,Android Contacts,我想获得我的android原始联系人的姓名和号码。然而,当我到达安卓联系人列表,并决定不进入我的应用程序,然后点击后退按钮,我得到一个错误。以下是我的代码部分: public void addContact(){ Intent addContact = new Intent (Intent.ACTION_PICK, People.CONTENT_URI); startActivityForResult(addContact, ADD_EXIST); } @Override pu

我想获得我的android原始联系人的姓名和号码。然而,当我到达安卓联系人列表,并决定不进入我的应用程序,然后点击后退按钮,我得到一个错误。以下是我的代码部分:

public void addContact(){
    Intent addContact = new Intent (Intent.ACTION_PICK, People.CONTENT_URI);
    startActivityForResult(addContact, ADD_EXIST);
}

@Override
public void onActivityResult(int reqCode, int ResultCode, Intent data){
    String wl_name, wl_num;
    switch(reqCode){
    case (ADD_EXIST):
        Uri contactData = data.getData();
                Cursor c =  managedQuery(contactData, null, null, null, null);
                if (c.moveToFirst()) {
                   wl_name = c.getString(c.getColumnIndexOrThrow(People.NAME));
                   wl_num = c.getString(c.getColumnIndexOrThrow(People.NUMBER));
               createListItem(wl_name, wl_num);
                }
                break;
    default:
        (Toast.makeText(getApplicationContext(), 
                         "No Contacts Added", Toast.LENGTH_SHORT)).show();
      }
}

我怎样才能按下后退按钮而不出错。是否有更好的方法获取联系人?

在使用之前,您需要检查结果代码,或者至少检查数据是否为空。

如何检查Android联系人返回的数据类型?即使是int,resultCode是否可以为null?检查resultCode==RESULT\u OK是否响应良好,RESULT\u Cancelled是否返回/取消响应。检查contactData!=在使用它之前为null。如果resultCode==RESULT\u OK else!!非常感谢。