Android退出应用最优雅的方式(改进版)

2019-12-10 19:30:47刘景俊

第一步设置MainActivity的加载模式为singleTask

android:launchMode="singleTask"

第二步重写onNewIntent()方法

 private static final String TAG_EXIT = "exit";

  @Override
  protected void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    if (intent != null) {
      boolean isExit = intent.getBooleanExtra(TAG_EXIT, false);
      if (isExit) {
        this.finish();
      }
    }
  }

第三步 退出

Intent intent = new Intent(this,MainActivity.class);
    intent.putExtra(MainActivity.TAG_EXIT, true);
    startActivity(intent);

六、懒人式 
这种方式更加简单,只需要如下两步操作 

  • 1、将MainActivity设置为singleTask 
  • 2、将退出出口放置在MainActivity 

    我们可以看到很多应用都是双击两次home键退出应用,就是基于这样的方式来实现的,这里在贴一下如何处理连续两次点击退出的源码

    private boolean mIsExit;
    @Override
      /**
       * 双击返回键退出
       */
      public boolean onKeyDown(int keyCode, KeyEvent event) {
    
        if (keyCode == KeyEvent.KEYCODE_BACK) {
          if (mIsExit) {
            this.finish();
    
          } else {
            Toast.makeText(this, "再按一次退出", Toast.LENGTH_SHORT).show();
            mIsExit = true;
            new Handler().postDelayed(new Runnable() {
              @Override
              public void run() {
                mIsExit = false;
              }
            }, 2000);
          }
          return true;
        }
    
        return super.onKeyDown(keyCode, event);
      }
    

    以上就是关于Android退出应用最优雅的方式详细介绍,希望对大家的学习Android有所帮助。



    注:相关教程知识阅读请移步到Android开发频道。