2

我正在开发一个 Android 应用程序,它提供了一个可在本地和全球范围内使用的搜索界面。

为了使自定义界面出现在系统的快速搜索框中,用户必须在搜索设置中明确启用它,这可以通过有用的android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH意图以编程方式启动。

问题是:如果我的可搜索界面已被用户启用,我如何以编程方式检查?

唯一让我“几乎在那里”的是SearchManagerclass,它提供(除其他外):

  • getSearchablesInGlobalSearch方法:返回一个列表,其中包含在其可搜索元数据中设置
    了属性的所有可搜索活动的可搜索信息,但没有用户是否启用它们的信息android:includeInGlobalSearch
  • INTENT_ACTION_SEARCH_SETTINGS_CHANGED意图
    广播动作以通知搜索设置已以某种方式更改;已启用或禁用可搜索项,或者已选择不同的 Web 搜索提供程序,但同样没有关于实际更改的信息

对此事进行广泛的谷歌搜索失败,这可能意味着:

  • 我错过了一些非常明显的东西(可能)
  • 以前从未尝试过(不太可能)
  • 这根本不可能

有人可以对此有所了解吗?

4

0 回答 0