Как предотвратить переход телефона в режим ожидания - PullRequest
0 голосов
/ 05 апреля 2019

Я разработал приложение, которое транслирует музыку (через интернет) с использованием сервиса и поддерживает потоковую передачу контента без использования телефона.

Когда я разрабатывал свое приложение каждый раз, когда я пробовал описанный ниже случай, музыка воспроизводилась нормально.

Вариант использования: поиск песни, выбор песни из результатов, воспроизведение песни, отключение экрана -> автоматическое воспроизведение следующей песни из списка результатов

Я занимаюсь разработкой с использованием реального устройства - Huawei Mate 20 Lite - OS v8.01, поэтому при отладке необходимо использовать USB-кабель. Как я уже сказал, в случае использования выше при подключенном USB автоматическое воспроизведение при отключенном экране работает хорошо. Если он не работает должным образом, это когда кабель не подключен (включены только мобильные данные).

Что я понял, так это то, что телефон при подключении по USB, вероятно, держит устройство в активном состоянии и не переходит в режим ожидания, в то время как когда устройство не подключается примерно через 5 минут, оно, вероятно, завершает процессы, которые требуют энергии, или выключается. Нет связи, я не уверен, и вот где вы, ребята, нуждаетесь.

Кроме того, я протестировал приложение с использованием HTC U Play - OS v6.0, и потоковая передача идет без прерываний, когда экран выключен и телефон не трогали в течение 10 + минут.

Также я пытался приобрести wakelock внутри создаваемого и не освобождая его, просто чтобы посмотреть, помогает ли он, а это нет.

pm = (PowerManager) getApplicationContext (). GetSystemService (Context.POWER_SERVICE); wl = pm.newWakeLock (PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock"); wl.acquire ();

1 Ответ

0 голосов
/ 05 апреля 2019

Эта проблема может возникнуть из-за того, что после Andriod 6.0 все приложения оптимизируются для оптимизации использования батареи.

Если вы действительно думаете, что причина того, что приложение убито, заключается в бездействии. Тогда, вероятно, из-за самого программного обеспечения оптимизации батареи.

Вы можете включить другое разрешение при установке приложения на устройстве, где вы можете обновить список неоптимизированных приложений, добавив запись для своего приложения.

Изначально вы сможете выполнить ручные настройки, следуя приведенным ниже инструкциям.

. Перейдите к приложению ‘Настройки and, а затем‘ Батарея ‘

. В меню «три точки» в правом верхнем углу вы найдете «Оптимизация заряда батареи».

. Здесь вы увидите список всех приложений, которые не должны быть «оптимизированы» (для которых чтение «может обрабатываться Doze и App Standby») - по умолчанию список обычно очень мал, почти все приложения включены для « оптимизация. Это хорошо для обычных пользователей, но если, как и я, вы хотите, чтобы несколько приложений жили вне новых оптимизаций батареи, то нажмите на список выбора «Не оптимизировано» и выберите «Все приложения»

. Как и следовало ожидать, в списке есть все приложения на вашем телефоне (это может быть довольно долго) - проводите пальцем вниз, пока не найдете приложения, которые вы особенно хотите всегда поддерживать в работе. Нажмите на название приложения

. Из двух вариантов установите флажок «Не оптимизировать».

...