6

ホームボタンを押すか、戻るボタンを使用するか、単に別のアプリを開くことで、ユーザーがアプリを閉じるたびに再生を停止するメディアプレーヤーがあります。この動作を取得するためonStop()に、メイン アクティビティに、MediaPlayer(サービス内にある) 音楽の再生を停止するように指示する を追加しました。

ただし、電源ボタンを使用して画面をオフにするか、画面の自動調光だけで、画面が暗くなるたびに音楽を再生し続けたいと思います。

現在、プレーヤーは画面が暗くなると再生も停止します。つまり、そのときに onStop() メソッドも呼び出されます。

画面の調光によって onStop() が呼び出されるかどうかを確認するにはどうすればよいですか?

私はすでにオブジェクトに を適用しPARTIAL_WAKELOCKました。MediaPlayer私の知る限りでは、これにより、画面がオフになった後もプレイヤーが走り続けることができるはずです。

メイン アクティビティにも部分的なウェイクロックを追加する必要がありますか?


PARTIAL_WAKELOCKメイン アクティビティとメディア プレーヤーの両方にa を適用しました。現在、画面が自動的にオフになることはなくなり、ユーザーが電源ボタンを押しても音楽は停止します。

明らかに、これは私が思ったようには機能しません。

私が探している動作を達成する方法はありますか?

4

1 に答える 1

3

あなたは付け加えられます

private boolean stoppedByUser = false;

フィールドをアクティビティに設定し、in falseonStart()onBackPressed ()およびonUserLeaveHint()に設定し、メソッドで値を確認します。trueonStop()

于 2012-01-25T13:27:06.697 に答える