屏幕锁定时从服务启动外部活动

时间:2018-12-08 22:35:36

标签: android android-intent service screen-lock

我有一个后台服务,该服务通过websocket连接到家庭服务器。

每天早上,该服务器都会向我的服务发送一条命令,然后通过使用

使用已传递的URL启动VLC。
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获取代码)

现在我已经更改了两件事,但我不知道是什么引起了问题:

  1. 我添加了此屏幕保护内容(图案/ PIN /指纹), 以前该设备没有这样的保护,请按开机 按钮将直接显示主屏幕(或最上面的 活动)
  2. 我已升级到Android Pie

如何“解决”此问题。我看到闹钟应用程序可以某种方式解决此问题,但我不知道如何。

0 个答案:

没有答案