アプリケーションのユーザーに、を使用して画面を維持できる機能を提供したいと思います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;
}
}
私は現在、自分のアプリケーションをアクティブに使用していないときにユーザーの電話をロックしないようにしたいので、自分から呼び出してオーバーライドしますonPause
。onResume
私のアプリケーションには、他に3つのフルスクリーンビューがあります。WakeLock
彼らが私のアプリケーションのすべての部分に引き継がれ、それでも彼らの電話の残りの部分に安全であることを保証するための最良の方法は何ですか。
私の最初の考えは、私の活動のそれぞれで同じコードスニペットを複製することですが、それは多くのボイラープレートのように見えます。別のフルスクリーンアクティビティに切り替えると表示が失われるため、onStart
使用できません。onStop
おそらくそれはより良いでしょうが
ここ( http://developer.android.com/guide/topics/fundamentals.html )にある図と情報に基づいて、ロックを適用するためのより良い方法がわかりません。