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

时间:2018-06-01 12:27:09

标签: android android-activity

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

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

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

1 个答案:

答案 0 :(得分:6)

使用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)
    }