首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ContactPicker活动结果中的列无效

ContactPicker活动结果中的列无效
EN

Stack Overflow用户
提问于 2013-10-04 22:28:23
回答 1查看 408关注 0票数 1

我要启动一个联系人Picker,获取结果并获取联系人的姓名和电话号码。我遵循了这个link上的示例。

这看起来很简单。启动意图:

代码语言:javascript
复制
Intent pickContactIntent = new Intent(Intent.ACTION_PICK, Uri.parse("content://contacts"));
pickContactIntent.setType(Phone.CONTENT_TYPE);
startActivityForResult(pickContactIntent, PICK_CONTACT_REQUEST);

并在onActivityResult上获得结果:

代码语言:javascript
复制
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode == RESULT_OK) {
        Uri contactUri = data.getData();
        String[] projection = {Phone.NUMBER};

        Cursor cursor = getContentResolver()
             .query(contactUri, projection, null, null, null);
        cursor.moveToFirst();
        int column = cursor.getColumnIndex(Phone.NUMBER);
        String number = cursor.getString(column);

        // Do something with the phone number...
    }
}

但是当我使用getContentResolver().query(...)它抛出一个异常:

代码语言:javascript
复制
10-04 15:24:57.390: E/AndroidRuntime(14303): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=0, result=-1, data=Intent { dat=content://com.android.contacts/contacts/lookup/3218idc91bbd08f828c0.2327ig:104894074019203432183/314 flg=0x1 }} to activity {com.smv.vtickets/com.smv.vtickets.activities.MainActivity}: java.lang.IllegalArgumentException: Invalid column data1

它告诉我列data1是无效的:

代码语言:javascript
复制
java.lang.IllegalArgumentException: Invalid column data1

这不应该起作用吗?

编辑:我仔细研究了联系提供商是如何工作的。它有点乱所以,长话短说,我最终使用了这个:Android contact picker

EN

回答 1

Stack Overflow用户

发布于 2013-10-28 15:40:32

我在搜索电话号码时使用了ContactsContract.PhoneLookup.NORMALIZED_NUMBER,这种方法工作得很好。这是一个列名错误。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19183778

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档