@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); Log.d(TAG, "onCreate"); mainContext = this.getApplicationContext(); Settings.System.putInt( getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 0); // as soon as system will allow setContentView(R.layout.activity_main_screen); powerState = new PowerState(); alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); crashHandler = new CrashHandler(); // Thread.setDefaultUncaughtExceptionHandler(crashHandler); if (MainActivity.lastActionTime == 0) MainActivity.lastActionTime = SystemClock.elapsedRealtime(); if (devicePolicyManager == null) { devicePolicyManager = (DevicePolicyManager) this.getSystemService(Activity.DEVICE_POLICY_SERVICE); IntentFilter filter = new IntentFilter(Intent.ACTION_MAIN); filter.addCategory(Intent.CATEGORY_HOME); filter.addCategory(Intent.CATEGORY_DEFAULT); devicePolicyManager.addPersistentPreferredActivity( DeviceOwnerReceiver.getComponentName(this), filter, DeviceOwnerReceiver.getComponentName(this)); String[] packages = {this.getPackageName()}; devicePolicyManager.setLockTaskPackages(DeviceOwnerReceiver.getComponentName(this), packages); } startService(new Intent(this, ActiveNotification.class)); sendBroadcast(new Intent(TaskManager.INIT_INTENT)); getWindow() .getDecorView() .setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION | View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY); if (devicePolicyManager.isLockTaskPermitted(getPackageName())) startLockTask(); }