ローカルとグローバルの両方で使用できる検索インターフェースを提供するAndroidアプリを開発しています。
カスタムインターフェイスをシステムのクイック検索ボックスに表示するには、ユーザーは検索設定android.app.SearchManager.INTENT_ACTION_GLOBAL_SEARCH
で明示的に有効にする必要があります。これは、便利なインテントを介してプログラムで起動できます。
問題は、検索可能なインターフェイスがユーザーによって有効にされているかどうかをプログラムで確認するにはどうすればよいですか?
私を「ほぼそこに」連れて行く唯一のものは、(とりわけ)提供するSearchManager
クラスです:
getSearchablesInGlobalSearch
メソッド:検索可能なメタデータに属性が設定され
ているすべての検索可能なアクティビティの検索可能な情報を含むリストを返しますが、ユーザーがそれらを有効にしたかどうかについての情報はありません。android:includeInGlobalSearch
INTENT_ACTION_SEARCH_SETTINGS_CHANGED
インテント:
検索設定が何らかの方法で変更されたことを通知するためにブロードキャストされるアクション。検索可能ファイルが有効または無効になっているか、別のWeb検索プロバイダーが選択されていますが、実際の変更に関する情報はありません。
この問題に関する広範なグーグルは失敗します。これは、次のいずれかを意味する可能性があります。
- 非常に明白なものが欠けています(可能性があります)
- これまでに試みられたことはありません(ありそうもない)
- それは単に不可能です
誰かがこれに光を当てることができますか?