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();
      
    }
    如此就可以实现优雅的退出整个程序了

  • 相关阅读:
    quotaon
    quotacheck
    quota
    query_module
    数据库连接驱动
    PHP 开发 APP 接口 学习笔记与总结
    Java实现 LeetCode 76 最小覆盖子串
    Java实现 LeetCode 74 搜索二维矩阵
    Java实现 LeetCode 74 搜索二维矩阵
    Java实现 LeetCode 74 搜索二维矩阵
  • 原文地址:https://www.cnblogs.com/ithuangqing/p/12113701.html
Copyright © 2011-2022 走看看