androidをスリープ状態にしたくない!
今回はandroid開発ネタで。動画や音楽再生には必須といえる「スリープ状態にしない」とい対応について。
この機能を使用するためにPowerManagerを使用する。名前そのままの電源管理。
PowerManagerからWakeLockを取得し、スリープの状態を変更する。
WakeLock、ロックから目覚めるという事かな?WakeSleepの方がしっくりきそう。ちょっと強引なネーミングな気がするけど。
余談はおいといて、まずはサンプルから
public class TestActivity extends ActionBarActivity {
@Override
public void onCreate(Bundle bundle) {
super.onCreate(bundle);
PowerManager powerManager = (PowerManager)getSystemService(Context.POWER_SERVICE);
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, “hoge tag”);
wakeLock.acquire();
/*
この間はスリープ状態の状態を操れる
*/
wakeLock.release();
}
}
ここの部分でスリープの状態を設定する。
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, “hoge tag”);
スリープ状態は下記がある。
- PARTIAL_WAKE_LOCK・・・画面OFF、キーボードOFF
- SCREEN_DIM_WAKE_LOCK・・・画面暗、キーボードOFF
- SCREEN_BRIGHT_WAKE_LOCK・・・画面明、キーボードOFF
- FULL_WAKE_LOCK・・・画面明、キーボードON
他に下記の付随するフラグがあります。自作英文訳なので微妙かも・・・。
ACQUIRE_CAUSES_WAKEUP・・・WakeLockが取得されたら、すぐに画面、キーボードをオンにするように強制する、らしい
ON_AFTER_RELEASE・・・WakeLockが解放された時、ユーザアクティビティのタイマーがリセットされるので、照明の状態が多少保たれる。らしい
使用方法はこんな感じ。
WakeLock wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK|ACQUIRE_CAUSES_WAKEUP|ON_AFTER_RELEASE, “hoge tag”);
ではでは今日はここまでノシ
メイン広告
関連記事
-
Android & Bluetooth(その1)
さて、今回は自己満足の自作アプリをBluetoothで制御しようとしハマッたお話です。 大概記事書
-
AndroidManifest.xmlのandroid:launchModeについて
今回は、AndroidManifest.xmlのandroid:launchModeについてなんだか
-
端末の電池の残量をアクティビティに渡したい
アプリを作成している時に、端末の電池の残量を取得したい事があると思います。仕組みは電池の残量を管理す
-
Android開発環境の導入(その1)
自宅資料の中から使いそうなやつを抜粋。 何回かに分けて公開しよう。
-
Android & Bluetooth(その2)
前回は、AndroidアプリをBluetoothで制御するのにお手上げ状態でした。今回は、他のBlu