I am trying to terminate the application, but the problem is that onDestroy() is called and after that application(same activity) is restarted.
Can you please advice me what could be the reason for this?
Please bear with me I am newbie in android dev.
public class MainActivity extends Activity {
private MainViewModel mainViewModel;
private ActivityMainBinding binding;
private DrawerLayout drawerLayout;
@Override
public void sendBroadcast(Intent intent) {
super.sendBroadcast(intent);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View decorView = getWindow().getDecorView();
/*int uiOptions = View.SYSTEM_UI_FLAG_LAYOUT_STABLE
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;
*/
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN;/*
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY;*/
decorView.setSystemUiVisibility(uiOptions);
this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setContentView(R.layout.activity_main);
initDataBinding();
EpgScreenService epgScreenService = new EpgScreenServiceImpl();
//epgScreenService.firstShow();
}
private void initDataBinding() {
binding = DataBindingUtil.setContentView(this, R.layout.activity_main);
mainViewModel = MainViewModel.getInstance(this);
binding.setMainViewModel(mainViewModel);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
drawerLayout.openDrawer(GravityCompat.START);
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do something after 100ms
drawerLayout.closeDrawer(Gravity.LEFT);
}
}, 1200);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Toast.makeText(this,event.getKeyCode() + "", Toast.LENGTH_SHORT).show();
if (keyCode == KeyEvent.KEYCODE_ENTER) {
if (drawerLayout.isDrawerOpen(GravityCompat.START)) {
drawerLayout.closeDrawer(Gravity.LEFT);
} else {
drawerLayout.openDrawer(GravityCompat.START);
}
}
if(keyCode == KeyEvent.KEYCODE_X){
startActivity(new Intent(this,EpgActivity.class));
}
if(keyCode == KeyEvent.KEYCODE_Q){
mainViewModel.stopPlayer();
//android.os.Process.killProcess(android.os.Process.myPid());
//finish();
int pid = android.os.Process.myPid();
android.os.Process.killProcess(pid);
System.exit(0);
}
return super.onKeyDown(keyCode, event);
}
/*
@Override
protected void onPause() {
super.onPause();
System.out.println("PAUSED");
ActivityManager activityManager = (ActivityManager) getApplicationContext()
.getSystemService(Context.ACTIVITY_SERVICE);
activityManager.moveTaskToFront(getTaskId(), 0);
}
*/
@Override
protected void onResume() {
super.onResume();
System.out.println("RESSUMED");
mainViewModel.setupPlayer();
}
@Override
protected void onDestroy() {
System.out.println("DESTROYING");
super.onDestroy();
}
}