1

В моем приложении я запускаю службу переднего плана с уведомлением о потоковой музыке, но при переключении режима экономии заряда батареи (Nexus) или энергосбережения (Samsung) только при работе на Android 6.0+, служба переднего плана остановлена, поэтому музыка также прекращается.Как избежать остановки моего обслуживания переднего плана в режиме батареи/энергосбережения на Android M

Есть ли способ остановить остановку переднего плана, даже когда включен режим энергосбережения? Также режим батареи/энергосбережения ведет себя аналогично режиму Doze?

+0

Чтобы узнать, какой режим экономии я тестировал, на Nexus 5 он устанавливал режим экономии заряда батареи (оранжевая строка состояния <15%). И при тестировании на Samsung он работал в режиме энергосбережения (не в режиме энергосбережения). Мои сетевые вызовы на сервер блокируются. – Sergex

+0

На самом деле кажется, что служба переднего плана не останавливается, но сетевые вызовы, безусловно, блокируются. – Sergex

ответ

1

У вас есть это. Аккумуляторные операции обычно блокируются в таком режиме. Лучшее, что вы можете сделать, это убедиться, что операция вернется к нормальной работе, когда устройство вернется к нормальной работе. Сначала проверьте, произойдет ли это автоматически; и если нет, то тривиально просто использовать API-интерфейс батареи, чтобы узнать, когда перезапустить службу. Надеюсь, это поможет ...

0

Возможно, вы столкнулись с известной ошибкой: https://code.google.com/p/android/issues/detail?id=193802. Есть исправление для него: https://android-review.googlesource.com/#/c/221708/, но он собирается только в N (для устройств nexus) и M MR1.

Обходной процесс заключается в создании отдельного процесса, обеспечивающего сохранение вашего приложения путем запуска службы в отдельном процессе с использованием Context.BIND_AUTO_CREATE | Context.BIND_IMPORTANT.

 Смежные вопросы

  • Нет связанных вопросов^_^