编程语言
首页 > 编程语言> > 在锁定屏幕上运行Android应用程序

在锁定屏幕上运行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