前提・実現したいこと
以下のページより、singleInstanceのActivityではonActivityResultが正しく機能しません。
APIレベル22では正しく動きますが、APIレベル19では正しく動きませんでした。
startForActivityResult/onActivityResultを使えない条件
また、ServiceからstartActivityのとき、APIレベル23以前では「FLAG_ACTIVITY_NEW_TASK」としないと動かないようで、「FLAG_ACTIVITY_CLEAR_TOP」では動きません。
以下のページより、ContextがActivityだと起動できるようなのですが。。
実際、APIレベル22、19とも動きませんでした。
Androidの勉強:Contextについて
問題のActivityは「singleInstance」とするか「FLAG_ACTIVITY_CLEAR_TOP」として呼ぶようにしたいです。
理由は問題のActivityが既に開いていて、更に次の画面に遷移中にServiceから重ねて呼び出した時に問題のActivityが2重に開かれている状態になってしまうためです。
上記2つの問題のどちらかを解消して上手く動くようにできないでしょうか?
または、「onActivityResult」以外で同様の動作を実現することは出来ないでしょうか?
※遷移先Activityの操作結果を受け取る。
発生している問題・エラーメッセージ
実現したいことのいずれかの方法が全てのAPIレベルで動作すれば問題ないが、実現できないため、
どちらも適用しない状態だと、同一のActivityが2重に開かれて、戻るボタンなどで同じ画面が出てきてしまう。
補足情報(FW/ツールのバージョンなど)
Android Studio3.4
APIレベル14から28まで対象
回答1件
あなたの回答
tips
プレビュー