我不敢相信我没有看到更多关于这个问题的讨论。我错过了那么明显的东西吗?
我在启用了语音的 SearchView 小部件上进行了活动。这是一个 singleTop 实例,因此相同的活动将能够捕获搜索意图。
当用户使用语音输入时,我想在实际搜索发生之前向用户显示查询文本以进行任何更正(如果需要)。
在我的 onNewIntent() 方法中,我处理搜索意图以从语音中检索查询文本并更新搜索文本框。
但是,只要我使用查询文本设置文本框,就会使用 SearchViews 文本触发新的搜索意图。我的 onNewIntent() 也收到了同样的信息。
这是一个无限循环。
我尝试设置 SearchView 的 OnQueryTextListener,希望监听器能直接从文本框中捕获搜索文本。然而,这并没有阻止新的搜索意图被触发。
我即将放弃 SearchView。考虑到我想拥有语音和建议功能,我希望有人可以建议我解决这个问题。