Я работаю над приложением киоска, которое может запускать другие приложения для Android. Он работает поверх блокирующего экрана. Проблема, которую я вижу, заключается в том, что lockscreen отображается кратко между действиями. Мы должны держать планшет заблокированным, поэтому разблокировка не является вариантом.
Я смог воспроизвести это с помощью супер простого случая. Оба действия почти идентичны. Приложение является администратором устройства и может отображаться над клавиатурной защитой. Я также попытался не использовать 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();
}
});
}
});
}
}
Как я могу запустить другое действие без его кратковременного отображения экрана блокировки?