我使用ContactsQuery來搜索設備上的聯繫人姓名。 我的代碼是非常類似於此sampleContactsActivity on github:搜索聯繫人時拋出SQLiteException
但是,應用程序將引發SQLiteException當我輸入號聯繫人搜索欄上的關鍵。
我使用的選擇查詢是:
final static String SELECTION =
(Helper.hasHoneycomb() ? Contacts.DISPLAY_NAME_PRIMARY : Contacts.DISPLAY_NAME) +
"<>''" + " AND " + Contacts.IN_VISIBLE_GROUP + "=1";
當我輸入數字鍵「6」,在日誌中顯示錯誤消息:
android.database.sqlite.SQLiteException: near ":6": syntax error (code 1): , while compiling: SELECT _id, lookup, display_name, photo_thumb_uri, sort_key FROM view_contacts_restricted JOIN (SELECT contact_id AS snippet_contact_id FROM search_index WHERE search_index MATCH content:6* OR name:1E* UNION SELECT contact_id AS snippet_contact_id FROM phone_lookup JOIN raw_contacts ON (raw_contacts._id=raw_contact_id) WHERE normalized_number LIKE '%6%') ON (_id=snippet_contact_id) WHERE ((display_name<>'' AND in_visible_group=1)) ORDER BY sort_key
此問題只發生在一個三星Galaxy III設備。
感謝您的答覆,我會將設備的固件與其他工作設備進行比較。是的,這聽起來像是Android操作系統的一個bug。 –