Android - MediaPlayer + PowerManager.Partial_Wake_Lock
-
25-10-2019 - |
Вопрос
Я создаю приложение для прослушивания радиопотоков через Wi -Fi и 3G Network.
Я использую Native MediaPlayer. К сожалению, когда экран становится черным, и телефон входит в режим ожидания, MediaPlayer начинает прекращать играть музыку.
Я добавил:
mp.setWakeMode(myContext, PowerManager.PARTIAL_WAKE_LOCK);
Но не было почти каких -либо изменений (просто перестань играть, и в ближайшие 3 секунды снова начнут играть ...) только full_wake_lock и Screen_dim_wake_lock работает, как я ожидал ...
В моем устройстве я установил опцию, которая предотвращает сон Wi -Fi.
Я пытался добавить свою cusom wake_lock
mp.setWakeMode(this.getBaseContext(), PowerManager.PARTIAL_WAKE_LOCK);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "testa");
wl.acquire();
Но это не сработало. Только full_wake_lock работает, но я не хочу сливать батарею с помощью экрана :(.
У меня есть желание HTC с Android 2.2. Есть ли у вас какие -либо идеи, как предотвратить MediaPlayer перестать играть в интернет -потоковую радиостанцию, пока телефон находится в режиме ожидания?
Решение
Как отмечает Джерри, вам может потребоваться сохранить блокировку Wi -Fi, это поток поступает через Wi -Fi. Другое дело, когда вы приобретаете Wakelock? Вы должны приобрести его, когда ваше приложение запустится, а не ждать, пока экран уйдет. Возможно, вы не сможете приобрести Wakelock до того, как устройство заснет. Кроме того, вам понадобится разрешение Wake_lock, если у вас его еще нет.