WakeLock
を使用して画面を保持する機能をアプリケーションのユーザーに提供したいと考えています。私は、彼らがいないとき、特定の私は、ユーザーの携帯電話のロックを引き起こさないようにしたいと私は現在、私のとonResume
オーバーライドからそれを呼び出しています安全にWakeLockを複数のアクティビティに実装するには
protected void processWakeLock(int pauseResume) {
switch (pauseResume) {
case STATE_RESUME:
if (mKeepScreenOn) {
wakeLock.acquire();
}
break;
case STATE_PAUSE:
if (wakeLock.isHeld()) {
wakeLock.release();
}
break;
}
}
:私の主な活動で、私は次の関数を作成しました私のアプリケーションを積極的に使用しています。私のアプリケーションには3つのフルスクリーンビューがあります。 WakeLock
がアプリケーションのすべての部分に引き継がれ、残りの電話機に対して安全であることを保証する最善の方法は何ですか。
私の最初の考えは、多くのボイラープレートのように思えますが、私の活動のそれぞれに同じコードスニペットを複製することです。 onStart
とonStop
を使用することはできません。これは、別の全画面アクティビティに切り替えると表示が失われるためです。
ここにある図と情報(http://developer.android.com/guide/topics/fundamentals.html)に基づいて、ロックを適用するためのより良い方法はありません。
それでは、「WakeLock」 – Thomas
@Thomasを使用するのが適切なのはいつですか?「サービス」です。 'View'に' setKeepScreenOn() 'が存在するので、' Activity'でそれを行うことには意味がありません。 – CommonsWare
'setKeepScreenOn()'は 'SCREEN_DIM_WAKE_LOCK'と同じ動作をしません – Thomas