私のアプリケーションでは、メインスレッド(UI)とは異なるスレッドで作成されたサービスがあります。次に、サービスで、バックグラウンドで無期限に実行される他の3つのスレッドを作成しました。しかし、電話がスタンバイモードになるとすぐに、これらのスレッドは実行を一時停止します。
代わりに、USBケーブルを介して電話をPCに接続すると、スタンバイモードでもテーマ自体を中断することなく、スレッドが正しく機能することがわかります。
しかし、通常の実行でスレッドにこの動作をさせないようにするにはどうすればよいですか?
tnx
解決済み:
私は、PowerManagerオブジェクトを使用するだけでこれを取得できました。このオブジェクトは、acquire()からrelease()までCPUをアクティブのままにするPARTIAL_WAKE_LOCKを取得します。
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "My Tag");
wl.acquire();
..CPU will stay on during this section..
wl.release();