Android,如何启动活动锁定屏幕

Pal*_*lak 7 android

我希望通过锁定屏幕上的推送通知启动我的活动,而无需更改锁定.

该活动的任何特殊许可?

Rav*_*avi 7

在API级别17之后,这将起作用

<activity
    android:name=".yourActivityName"
    android:showOnLockScreen="true"
    android:screenOrientation="sensorPortrait" >
Run Code Online (Sandbox Code Playgroud)

或者在调用之前在onCreate()中写这个 setContentView()

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED); 
Run Code Online (Sandbox Code Playgroud)


Vla*_*rev 6

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O_MR1)
    {
        setShowWhenLocked(true);
        setTurnScreenOn(true);
        KeyguardManager keyguardManager = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
        if(keyguardManager!=null)
            keyguardManager.requestDismissKeyguard(this, null);
    }
    else 
    {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD |
                WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED |
                WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);
    }
Run Code Online (Sandbox Code Playgroud)