У меня есть служба, которая должна выполняться в фоновом режиме. Он начинается, когда мое приложение открыто и заканчивается, когда пользователь отключается от моего приложения.WakeLock финализировалась, хотя все еще была ошибка, хотя я ее освобождаю
Всякий раз, когда мое приложение находится в фоновом режиме или когда экран выключен, мне все равно нужна работа службы.
Я достиг этого с помощью WakeLock, но по какой-то причине я получаю ошибку в названии.
Это связано с тем, что я могу потерять память Wake Wake (если я правильно понимаю).
Я могу вызвать ошибку, перезапустив приложение.
Вот соответствующий код:
public class SomeService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
PowerManager manager = (PowerManager) getSystemService(POWER_SERVICE);
mWakeLock = manager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "TAG");
if (!mWakeLock.isHeld()) mWakeLock.acquire();
//Handle other processing
return START_STICKY;
}
@Override
public void onDestroy() {
if (mWakeLock.isHeld()) mWakeLock.release();
super.onDestroy();
}
}
Я озадачен, потому что в моем onDestroy()
я выпускаю WakeLock. Я не уверен, что вызывает ошибку.
Я также сталкиваюсь с той же проблемой. Итак, вы нашли решение? –
Вы пытались переместить создание блокировки в 'onCreate()'? – iosdude
@iosdude Я пробовал, но это то же самое. – Pitel