У меня есть фоновая служба, которая имеет соединение через веб-сокет с домашним сервером.
Каждое утро этот сервер отправляет команду в мою службу, которая затем запускает VLC с URL-адресом, который был передан посредством использования
Intent i = new Intent();
i.setAction(Intent.ACTION_VIEW);
i.setComponent(new ComponentName("org.videolan.vlc", "org.videolan.vlc.gui.video.VideoPlayerActivity"));
i.setData(Uri.parse('http://st01.dlf.de/dlf/01/128/mp3/stream.mp3'));
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(i);
Я пытался добавить
i.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON |
WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON );
, а также
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
(WAKE_LOCK
уже присутствовал, я также явно вызывал некоторые другие WakeLockкод получения)
Теперь я изменил две вещи, и я не знаю, в чем причина проблемы:
- Я добавил этот материал для защиты экрана (Pattern / PIN / Fingerprint)Ранее это устройство не имело такой защиты, при нажатии кнопки «Вкл.» отображался домашний экран напрямую (или самая активная активность)
- Я обновился до Android Pie
Как я могу "исправить эту проблему.Я вижу, что приложения-будильники каким-то образом способны решить эту проблему, но я не знаю, как.