我有一个Android应用,需要从用户手机上存储的联系人中提取联系人和电话号码列表。这在过去一年左右的情况下运作良好。但是,上周用户报告该应用程序在此页面上崩溃。堆栈跟踪指向此代码
String[] projection = new String[] { ContactsContract.Contacts._ID,
ContactsContract.Contacts.HAS_PHONE_NUMBER,
ContactsContract.Contacts.DISPLAY_NAME };
Cursor cursor = p_context.getContentResolver().query(
ContactsContract.Contacts.CONTENT_URI,
projection,
null,
null,
ContactsContract.Contacts.DISPLAY_NAME.toUpperCase())
异常消息显示为:
Caused by: android.database.sqlite.SQLiteException: no such column: DİSPLAY_NAME (code 1): , while compiling: SELECT _id, has_phone_number, display_name FROM view_contacts_restricted WHERE ((1)) ORDER BY DİSPLAY_NAME
我能找到的所有内容都应该在这里显示DISPLAY_NAME字段。知道为什么这个用户会遇到这个问题吗?根据谷歌分析,他正在运行Android 4.2.2版。我不知道这是否是一个改装的rom。