В моем приложении у меня есть служба, созданная в другом потоке, чем основной (пользовательский интерфейс). Затем в сервисе я создал еще 3 потока, которые бесконечно выполняются в фоновом режиме. Но как только телефон переходит в режим ожидания, эти потоки приостанавливают свое выполнение!
Если я подключаю телефон к компьютеру через usb-кабель, вместо этого я вижу, что потоки работают правильно, не приостанавливая себя даже в режиме ожидания.
Но как не допустить такого поведения потоков при нормальном выполнении?
спасибо
РЕШЕНО:
Мне удалось получить это, просто используя объект PowerManager, который получает 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();