1

MediaPlayer を使用して音楽を再生するアプリケーションがあります。音楽を再生してデバイスをロックすると、さまざまな期間で onPause と onResume が呼び出され始めます (1 つのトラックの時間ではありません)。

私のログは次のようなものです:

07-11 10:08:50.933: INFO/Activity(9956): resume PlayerActivity
07-11 10:08:50.948: INFO/Activity(9956): pause PlayerActivity
07-11 10:08:56.300: INFO/Activity(9956): resume PlayerActivity
07-11 10:08:56.316: INFO/Activity(9956): pause PlayerActivity
07-11 10:09:21.839: INFO/Activity(9956): resume PlayerActivity
07-11 10:09:21.886: INFO/Activity(9956): pause PlayerActivity
07-11 10:09:27.003: INFO/Activity(9956): resume PlayerActivity
07-11 10:09:27.019: INFO/Activity(9956): pause PlayerActivity
07-11 10:18:49.738: INFO/Activity(9956): resume PlayerActivity
07-11 10:18:49.745: INFO/Activity(9956): pause PlayerActivity

これは Android Activity の通常の動作ですか? ボタンが押されていないか、デバイスで何も行われていません。

よろしくお願いします

4

2 に答える 2

2

それを回避する方法があります。これは、画面をロックしたときの構成の変更によるものだと思います。アプリが横向きで、ロック画面が縦向きの場合、それは構成の変更です。画面上のナビゲーション ボタンがある場合も同様で、ロック画面ではそれらがなくなり、画面サイズが変更されます。マニフェスト ファイルでは、アクティビティの構成の変更を変更し、それらの全体を指定できます。これにより、画面をロックするたびに Android がアクティビティを再構築しなくなり、多くの onPause - onResume コールバックが停止します。

于 2013-02-07T17:56:01.767 に答える
0

はい、これは Android の通常の動作です。実行中のアクションに基づいて、ライフサイクルに対応するメソッドが呼び出されます。いずれの場合も、必要な結果を得るために適切なメソッドをオーバーライドする必要がある場合があります。

于 2011-07-11T09:04:46.237 に答える