基本的にストーリーブックのような自動再生機能を備えたアプリを書いています。onCompletionListener
ナレーションが完了すると次のアクティビティ(ページ)が開始されるように、アクティビティ(ページ)ごとにメディアプレーヤーを設定しました。自動再生をオフにするオプションがあります(自分のペースで読むことができます)...しかし、オフにすると、アクティビティ(現在のページ)が前のonCompletionListener
呼び出しを「記憶」します(戻るボタンを使用して前のアクティビティに戻ります)。後続のアクティビティ(ページ)は正常に機能します...開始するロジックチェックにより、onCompletionListener
実行されなくなります。
また、自動再生が切り替えられるメニューが全画面を引き継ぎ、前のアクティビティ(ページ)を実行するため、そのロジックチェックをonStart()
[ではなく]に移動してみました。この設定により、が再度実行されるのを防ぎますが、前のを「キャンセル」することはありません。注:これは、アクティビティ(ページ)がで開始された場合にのみ問題になります。onCreate
onStop()
onCompletionListener
onCompletionListener
autoplay=on
super.recreate()
また、すべてを「再開」するために、その特定のアクティビティを簡単に試しました(できれば、を含むonCompletionListener
)。ただし、結果はきれいではありませんでした(アクティビティが空白になり、再初期化されることはありませんでした)。
(私にとって)これは手続き上の質問であるため、コードは含めませんでした。1. onCompletionListener
「キャンセル」できます。もしそうなら、どのように?2.そうでない場合(私はjava / androidに比較的慣れていないため)、recreateメソッドは、アクティビティ全体(およびそのonCompletionListener
内部)を「リセット」するために受け入れ可能/有益ですか?
API11以降を対象としています。任意の考え/建設的な批判をいただければ幸いです。