【问题标题】:How to go back from People.CONTENT_URI without getting an error?如何从 People.CONTENT_URI 返回而不会出错?
【发布时间】:2011-05-14 09:24:02
【问题描述】:

我想获取我的 android 原始联系人的姓名和号码。但是,当我到达 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 back-button android-contacts


    【解决方案1】:

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

    【讨论】:

    • 如何查看 Android 联系人返回的数据类型? resultCode 可以为 null(即使它是 int)?
    • 检查if (resultCode == RESULT_OK) 以获得良好响应,RESULT_CANCELED 获得返回/取消响应。使用前检查contactData != null
    • 与 if (resultCode == RESULT_OK) else 一起工作得很好!谢谢!
    猜你喜欢
    • 2021-08-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-10
    • 2011-09-09
    • 1970-01-01
    • 1970-01-01
    • 2015-10-06
    • 2013-06-04
    相关资源
    最近更新 更多