検索ボタンを押したときにAndroid Searchボックスを表示するMapActivityがあります。 SearchManagerはダイアログを管理し、ユーザのクエリを検索可能なアクティビティに渡します。検索可能なアクティビティはSQLite DBを検索し、カスタムアダプタを使用して結果を表示します。Android onSearchRequested()呼び出しアクティビティへのコールバック
これは問題なく動作し、表示されるDBから正しい結果が得られます。
しかし、私がしたいのは、ユーザーが検索結果をクリックしたときにMapのMapActivityに結果を表示することです。現在、これは新しいMapActivityを開始し、検索結果をバンドルを使用して渡すことを意味します。
新しい検索を開始するのではなく、検索結果を元のアクティビティに戻すのがよりクリーンな方法だと思いました。現時点では、私のアクティビティスタックはMapAct - > SearchManager - > Search Result - > New MapActになります。つまり、新しいMapActから「戻る」を押すと、クエリの結果に戻り、元のMapActに戻ります。
検索結果で、finish()を呼び出しても呼び出し元のMapActivityでonActivityResultが呼び出されないようです。
このコールバックを取得して賢明なアクティビティスタックを維持する方法はありますか?