Блокировка экрана отображается между действиями

Я работаю над приложением для киосков, которое может запускать другие приложения для Android. Он работает поверх экрана блокировки. Проблема, которую я вижу, заключается в том, что экран блокировки кратко отображается между действиями. Мы должны держать планшет заблокированным, чтобы разблокировка не была возможной.

Я смог воспроизвести это в супер простом случае. Оба вида деятельности практически идентичны. Приложение является администратором устройства и может отображаться над клавиатурой. Я также пытался не использоватьfinish() вообще, но это не решило проблему.

public class MainActivity extends Activity {

    private Handler h = new Handler();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON);

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button bneg1 = (Button) findViewById(R.id.bneg1);
        bneg1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                h.post(new Runnable() {
                    @Override
                    public void run() {
                        Intent i = new Intent(MainActivity.this, SecondActivity.class);
                        startActivity(i);
                        finish();
                    }
                });
            }
        });
    }
}

Как я могу запустить другое действие без краткого предварительного отображения экрана блокировки?

Ответы на вопрос(1)

Ваш ответ на вопрос