联系人提供程序中的重音不敏感查询

Accent insensitive query in the contacts provider

我想进行联系人查询,其中选择的形式为 Phone.DISPLAY_NAME_PRIMARY + " LIKE ?,但我希望搜索不区分重音。

如果我使用 COLLATE LOCALIZED,它会与 = 运算符一起使用,而不是与 like 一起使用。

Android 的默认联系人应用程序以某种方式设法做到了这一点。

不是查询 ContactsContract.Data.CONTENT_URI 并使用 "selection",而是查询 ContactsContract.Contacts.CONTENT_FILTER_URI,其中查询被添加为附加路径段。