Android PhoneLookup.CONTENT_FILTER_URI抛出IllegalArgumentException:column';数据1';不存在

Android PhoneLookup.CONTENT_FILTER_URI抛出IllegalArgumentException:column';数据1';不存在,android,android-sqlite,android-contacts,android-contentresolver,contactscontract,Android,Android Sqlite,Android Contacts,Android Contentresolver,Contactscontract,经过大量的研究,我把这个扔掉,看看它是否能抓住什么东西 我正在尝试查询Android的phone\u lookup表,尝试从电话号码(lookup\u key、photo\u thumb\u uri等)获取一些额外数据 我的问题是: String[] projection = {Contacts._ID, Contacts.LOOKUP_KEY, Utils.hasHoneycomb() ? Contacts.DISPLAY_NAME_PRIMARY : Contacts.DISPLA

经过大量的研究,我把这个扔掉,看看它是否能抓住什么东西

我正在尝试查询Android的
phone\u lookup
表,尝试从电话号码(lookup\u key、photo\u thumb\u uri等)获取一些额外数据

我的问题是:

String[] projection = {Contacts._ID, Contacts.LOOKUP_KEY, Utils.hasHoneycomb() ? 
    Contacts.DISPLAY_NAME_PRIMARY : Contacts.DISPLAY_NAME, Utils.hasHoneycomb() ? 
    Contacts.PHOTO_THUMBNAIL_URI : Contacts._ID};
Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI, Uri.encode(phone.getNumber()));                                    
Cursor cs = context.getContentResolver().query(uri, projection, null, null, null);
在很多情况下,它工作得很好,而我却安然无恙。但不幸的是,我已经看到了一些关于这个错误的报告:

java.lang.IllegalArgumentException: column 'data1' does not exist at 
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:167) at 
android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:137) at 
android.content.ContentProviderProxy.query(ContentProviderNative.java:366) at 
android.content.ContentResolver.query(ContentResolver.java:373) at 
android.content.ContentResolver.query(ContentResolver.java:316) at 
这仅在Android版本4.2.2、4.4.2和5.1中有报道,按照“频率优先”(不确定是否有帮助)的顺序


让我思考的是。。。我没有投影任何
data1
列。我没有尝试获取
contacts contract.commondatatypes.Email.DATA
contacts contract.commondatatypes.Phone.Number
(就像我在其他查询中一样,获取其他表)。那么我错过了什么?有没有我没有看到的隐式连接?

您找到原因了吗?我得到了同样的错误。没有:(.你看到了完全相同的错误吗?在什么设备和android版本上?我真的放弃了这个:(.这不是很常见,我猜一些制造商会做一些定制的东西,在我提到的版本中暴露出来。是的,在运行android 5.1.1的Xperia Z上发生了几乎相同的错误。