Как запустить приложение или активность на экране блокировки? - PullRequest
0 голосов
/ 20 марта 2020

Я хочу запустить свое приложение через экран блокировки, как всякий раз, когда я нажимаю клавишу «Домой» или клавишу блокировки, чтобы включить мой экран, когда телефон заблокирован, приложение должно быть запущено в первую очередь их ... я хочу запустить свое приложение на экране блокировки и даже после блокировки экрана, во-первых, если блокировка открыта непосредственно по отпечатку пальца .. Я пробовал много решений, но ни одно из них не работает ... пожалуйста, не отмечайте этот вопрос как дубликат. Решения, которые я попробовал, приведены ниже. Может кто-нибудь предоставить мне подходящий раствор?

пытался добавить это до и после 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);
    }
...