我正在开发一个 Android 应用程序,它提供了一个可在本地和全球范围内使用的搜索界面。
为了使自定义界面出现在系统的快速搜索框中,用户必须在搜索设置中明确启用它,这可以通过有用的android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH
意图以编程方式启动。
问题是:如果我的可搜索界面已被用户启用,我如何以编程方式检查?
唯一让我“几乎在那里”的是SearchManager
class,它提供(除其他外):
getSearchablesInGlobalSearch
方法:返回一个列表,其中包含在其可搜索元数据中设置
了属性的所有可搜索活动的可搜索信息,但没有用户是否启用它们的信息。android:includeInGlobalSearch
INTENT_ACTION_SEARCH_SETTINGS_CHANGED
意图:
广播动作以通知搜索设置已以某种方式更改;已启用或禁用可搜索项,或者已选择不同的 Web 搜索提供程序,但同样没有关于实际更改的信息。
对此事进行广泛的谷歌搜索失败,这可能意味着:
- 我错过了一些非常明显的东西(可能)
- 以前从未尝试过(不太可能)
- 这根本不可能
有人可以对此有所了解吗?