2017-01-30 11 views
2

У нас есть музыкальное приложение (mp3), разработанное в Xamarin (собственное приложение для Android) с использованием MediaPlayer. Будет список песен, которые должны воспроизводиться один за другим. Примерно через 10 минут игрок останавливается. Когда телефон разблокирован, проигрыватель начинает воспроизведение следующей дорожки. Кажется, Нуга Доза каким-то образом вмешивается в Игрока. Если я вручную отключу Оптимизацию батареи для своего приложения, тогда нет никаких проблем.Xamarin MediaPlayer прерван Android Doze Mode

Есть ли какое-либо исправление для этой проблемы, а не для того, чтобы каждый пользователь вручную изменил опцию «Batter Optimization». Интересно, как другие приложения, такие как Spotify, непрерывно воспроизводят песни без каких-либо изменений настроек. Пожалуйста помоги!

ответ

1

Любой процесс, который содержит запущенную службу переднего плана, не будет учитываться для режима Doze. Это то, что используют приложения, такие как Spotify и Google Play Музыка. Подумайте о создании соответствующей службы переднего плана - она ​​будет отображаться на экране уведомлений при запуске службы переднего плана, так что фиктивная служба будет торчать.

Другой вариант заключается в том, чтобы запросить разрешение REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, а затем запустить намерение ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, которое приведет пользователя к экрану оптимизации батареи для вашего приложения. Это менее опытный пользовательский интерфейс, но не требует создания службы переднего плана, которую вам больше не понадобятся.