我正在尝试构建一个 Android 拨号器应用程序(MinSDK 23)。
我想实现一个联系人搜索(通常在默认拨号器应用程序和其他第三方拨号器应用程序中可用),如下所示:
当我在拨号盘上键入数字时,例如 245
我应该能够搜索电话号码包含“245”的联系人以及他们的姓名包含与数字 245 的字母组合匹配的联系人,根据我的计算,这应该是 27 个唯一组合。
虽然我确实知道这是一个排列问题,并且我可以通过对联系人姓名应用 OR 'LIKE' 过滤器来进行搜索,但这似乎不够有效,并且在我不断输入例如 245658 时会导致更多性能问题。
我们如何有效地做到这一点?是否有任何内置搜索机制可以通过这种方式搜索 android 联系人,或者是否存在更好的自定义解决方案?