当手机在android中被锁定时,使用什么而不是弃用的FLAG_SHOW_WHEN_LOCKED标志来启动活动

Dav*_*ave 2 android android-activity

即使手机被锁定,我也希望广播能够开始活动.我发现有窗口标志FLAG_SHOW_WHEN_LOCKED和FLAG_TURN_SCREEN_ON完全符合我的需要.问题是它们在最新版本的android中被弃用了.

我还发现可以使用setShowWhenLocked(true)和setTurnScreenOn(true)方法,但是它们给了我一个错误"在类Someclass中没有虚拟方法setShowWhenLocked(Z)V"

你能否建议我如何实现所需的结果?

Sag*_*gar 7

activityObj.setShowWhenLocked (true)而不是FLAG_SHOW_WHEN_LOCKED

setTurnScreenOn()而不是FLAG_TURN_SCREEN_ON

注意:这些方法仅适用于API级别27.因此,您需要在使用之前执行一些检查

if (Build.VERSION.SDK_INT >= 27) {
        setShowWhenLocked(true)
        setTurnScreenOn(true)
    } else {
        this.window.addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED or
                WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON)
    }
Run Code Online (Sandbox Code Playgroud)