AndroidでCPUを動作させ続けるために、wakelockというものが使えます。
https://developer.android.com/training/scheduling/wakelock?hl=ja
次のように起動します。
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
PowerManager.WakeLock mWl = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"MyApp::MyWakelockTag");
mWl.acquire();
//後でこれを呼び出さないとだめ
if (mWl != null && mWl.isHeld()) {
mWl.release();
}
しかし、仕込んだところで、これがちゃんと動作しているのか…?
調べたい時がありますよね。
そんな時は、ADBで
adb shell dumpsys power
とやります。
ちょっとですね、出てくる情報が多すぎなんですが
Wake Locksという部分がありまして、ここにしかけられているWaleLockが出てきます。
wakelockがrelease されていると、ここに出てきません。
ちなみに、
adb shell dumpsys power
でwakelock関連で使えるところがもう一個ありまして、Wake Lock Log という、Wakelockを使ったおそらくログなのだろう… というのを見ることができます。
出力が多すぎて萎えますが、上述の
PowerManager.WakeLock mWl = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
"MyApp::MyWakelockTag");
としました、この ”MyApp::MyWakelockTag” という引数が役に立ちます!
ありますね~ ちゃんと17:49:06 に動作していたということがわかります(泣)