How to close an android application?

后端 未结 6 798
遥遥无期
遥遥无期 2020-12-06 01:35

There are many question regarding this topic but there is no clear answer. Although android\'s memory management is very solid, so many people believe that we shouldn\'t kil

相关标签:
6条回答
  • 2020-12-06 01:54

    If you want to exit from an activity use finish() method of the activity, as Lucifer has suggested. It will simply finish the current activity. But if you want to exit from application(destroy all the activities upto Home Screen) use following Block of Code:

    Intent intent=new Intent(this, HomeClass.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(intent);
    
    0 讨论(0)
  • 2020-12-06 01:58

    I found my solution. Use this to close an application

    Intent homeIntent = new Intent(Intent.ACTION_MAIN);
    homeIntent.addCategory( Intent.CATEGORY_HOME );
    homeIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
    startActivity(homeIntent);
    
    0 讨论(0)
  • 2020-12-06 01:58
    public void endTask() {
        // Is the user running Lollipop or above?
        if (Build.VERSION.SDK_INT >= 21) { 
            // If yes, run the fancy new function to end the app and
            //  remove it from the task list.
            finishAndRemoveTask();
        } else {
            // If not, then just end the app without removing it from
            //  the task list.
            finish();
        }
    }
    
    0 讨论(0)
  • 2020-12-06 02:10
    switch(item.getItemId()) {
    case R.id.close:
                Intent intentFinish = new Intent(this,FinishActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(intentFinish);
                finish();
                return true;
    }
    

    why are you calling an activity which finishes itself (FinishActivity), then call finish() on the current activity (MainActivity) - whatever, the finish in the main activity is pointless.

    0 讨论(0)
  • 2020-12-06 02:20

    you have used System.exit(0); , I would like suggest you not to use it. It is not a good programming style to use it. There is a method called finish(); in Activity to finish any Activity's Execution. You should use it.

    Process.killProcess(Process.myPID()); is also not preferable to use.

    0 讨论(0)
  • 2020-12-06 02:20
    @Override
        public boolean onKeyUp(int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            if(keyCode == KeyEvent.KEYCODE_BACK)
            {
                finish();
                return true;
            }
            else{
                return super.onKeyUp(keyCode, event);
            }
        }
    

    use the above method in the very first activity that is launched on app start up

    0 讨论(0)
提交回复
热议问题