Activity.onSearchRequestedは、検索が要求された時に呼ばれる。
ということだが、実際にはたとえば自作の検索ボタンが押された時に"直接"呼ぶということが多いらしい。
基本的には、親クラスのsuper.onSearchRequestedを呼ぶのが一般的。
ただ、今回はオーバーライドしてみる。
onCreateですぐ呼ぶ。
startSearchに検索キーワードに加えて、独自の文字列をBundleで渡してみる。
戻り値がtrueで検索ダイアログが表示され、falseでキャンセルとなる。
onNewIntentに来る検索用Intentをチェック。
起動時に検索ダイアログが表示され、検索キーワードが入力される。
確定するとonNewIntentでqueryと、
ユーザ文字列も表示される。
このように検索をすると、Intent.ACTION_SEARCHが飛び、自身も拾うことが出来る。
Sample/android/Activity/onSearchRequested/src/Activity at master · bg1bgst333/Sample · GitHub