在锁定屏幕上运行Android应用程序
作者:互联网
我正在尝试创建一个在特定时间播放Youtube视频的闹钟.当我使用唤醒锁时,它使用以下代码在锁定屏幕后面播放Youtube视频:
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "")
我希望应用程序唤醒手机并在锁定屏幕前播放Youtube视频,就像本机闹钟应用程序在锁定屏幕前响起一样.
有谁知道如何做到这一点?谢谢!
解决方法:
您可以创建系统覆盖并在其上播放视频.创建服务并添加以下代码:
@Override
public void onCreate() {
super.onCreate();
WindowManager.LayoutParams params = new WindowManager.LayoutParams(
WindowManager.LayoutParams.TYPE_SYSTEM_OVERLAY,
WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
|WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD,
PixelFormat.TRANSLUCENT);
params.gravity = Gravity.RIGHT | Gravity.TOP;
WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE);
wm.addView(yourView, params);
}
别忘了在清单中添加SYSTEM_ALERT_WINDOW权限.
编辑:您也可以尝试使用TYPE_SYSTEM_ALERT和TYPE_SYSTEM_ERROR而不是TYPE_SYSTEM_OVERLAY.
标签:android,youtube,android-wake-lock 来源: https://codeday.me/bug/20190529/1175794.html