音楽プレーヤー アプリにアップ ボタンを実装しています。このアプリのプレーヤー アクティビティには、多数のエントリ ポイントがあります (さまざまなアクティビティの複数のトラックリスト)。アップボタンのパターンを正しく実装する方法を見つけようとしています。ドキュメントによると:
複数のエントリ ポイントがある画面への移動
場合によっては、アプリの階層内で画面に厳密な位置が設定されておらず、アプリ内の他の画面からアクセスできる設定画面など、複数のエントリ ポイントからアクセスできる場合があります。この場合、[上へ] ボタンは、[戻る] と同じように動作する >参照画面に戻ることを選択する必要があります。
これは理にかなっています。通常の使用では、onBackPressed() または finish() を呼び出すだけです。しかし、私がどのように処理するかわからないケースが1つあります。通知のあるサービスで再生が行われます。何かの再生中にユーザーがアプリを終了した場合、ユーザーは通知をクリックしてプレーヤーに直接移動できます。
この時点で、プレーヤーはスタック内の唯一のものになるため、ユーザーがクリックしたときに続行する最善の方法がわかりません。理想的には、ナビゲートするデフォルトのランディング ページ (ホームページ) を選択したいと考えています。バックスタックを見ずにユーザーをどこに送るかを知る方法はわかりませんが、もっと簡単なものがあるはずです。
だから私はこのシーケンスの方法を探しています:
- user is in player activity and presses up
- if the entry point to the player is still on the backstack, I finish() to go back to the referring activity
- if the entry point is not on the backstack, I go to the home page
これは正しいと思いますか?さらに、これを実装する簡単な方法はありますか?