この問題に関する議論がこれ以上ないなんて信じられません。明らかな何かが欠けていますか?
音声が有効になっている SearchView ウィジェットでのアクティビティがあります。これは singleTop インスタンスであるため、同じアクティビティで検索インテントをキャッチできます。
ユーザーが音声を使用して入力する場合、実際の検索が行われる前に、(必要に応じて) 修正するためにクエリ テキストをユーザーに表示したいと考えています。
私の onNewIntent() メソッドでは、音声からクエリ テキストを取得し、検索テキスト ボックスを更新する検索意図を処理します。
ただし、テキスト ボックスにクエリ テキストを設定するとすぐに、SearchViews テキストで新しい検索インテントがトリガーされます。そして同じことが私の onNewIntent() によって受け取られます。
これは無限ループに陥っています。
リスナーがテキスト ボックスから検索テキストを直接キャッチすることを期待して、SearchView の OnQueryTextListener を設定しようとしました。ただし、新しい検索インテントがトリガーされるのを止めることはできませんでした。
私はSearchViewをあきらめようとしています。音声と提案機能が欲しかったので、誰かがこの問題の解決策を提案してくれることを願っています.