如何在锁定屏幕上启动应用程序或活动?

时间:2020-03-20 09:31:43

标签: broadcastreceiver android-service android-manifest lockscreen android-jobscheduler

我想在锁定屏幕上启动我的应用程序,因为每当我按下Home键或锁定键以在屏幕锁定时打开屏幕时,应用程序应该首先启动它们的……我想运行我的应用程序在锁定屏幕上,甚至在锁定屏幕之后,首先,如果直接通过指纹打开了锁定,..我已经尝试了许多解决方案,但是没有一个起作用。请不要将此问题标记为重复。 我尝试过的解决方案如下 有人可以给我提供合适的山梨素吗?

尝试在onCreate()之前和之后添加此内容

 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON|
            WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD|
            WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED|
            WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

具有这些权限

 <uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.DISABLE_KEYGUARD" />

和这个<activity android:name=".MainActivity" android:showOnLockScreen="true">

也是这个......

 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);
    }

0 个答案:

没有答案