zoukankan      html  css  js  c++  java
  • 安卓开发如何优雅的实现退出整个程序

    我们在开发当中经常要实现一个退出整个程序的功能,实现这样功能的方法有很多,今天我们就来利用activity中的singletask启动模式来优雅的退出整个程序吧!

    首先我们需要了解的是关于singletask的一些知识,这个启动模式是栈内复用,举个简单的例子,如果有四个页面1,2,3,4,我们依次跳转,当从4跳转到2的时候,那么3和4就会被销毁,当然,如果从4跳转到1的话,那1之前的所有activity都将被销毁,此时我们再将1给finish掉就可以了,我们就是利用这样一个原理来实现退出整个程序。

    另外大家也要知道,当1使用了singletask的启动模式的时候,我们再次启动该activity的时候,该activity不会再次被创建,但是会调用一个onNewIntent方法,我们的finish就要写在这个方法里面,下面我们看具体实现

    第一步 设置退出按钮 设置intent 跳转到首次启动的activity 并且将此activity的启动模式设置成singletask
    quit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intentto = new Intent(Main3Activity.this,MainActivity.class);
            startActivity(intentto);
        }
    });
    <activity android:name=".MainActivity"
        android:launchMode="singleTask">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
    
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    第二步 在首次启动的activity中重写onNewIntent方法 然后在里面写上finish方法
    @Override
    protected void onNewIntent(Intent intent) {
        finish();
      
    }
    如此就可以实现优雅的退出整个程序了

  • 相关阅读:
    详述JavaScript实现继承的几种方式
    理解javascript函数调用和“this”
    React-Native 组件开发方法
    React Native 中 component 生命周期
    React-Native 样式指南
    React Native 之flex布局
    转每天一个linux命令(5):rm 命令
    [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)
    转每天一个linux命令(4):mkdir命令
    转每天一个linux命令(3):pwd命令
  • 原文地址:https://www.cnblogs.com/ithuangqing/p/12113701.html
Copyright © 2011-2022 走看看