`

android——退出程序的功能,关闭所有本程序界面

阅读更多

         程序退出功能,也就是安全退出已调用多个Activity的程序,将程序打开的页面一次性全部关闭。

         在网上查android退出程序的方式有很多,这里介绍一种自己定义一个继承activity的基类,然后其他自己的activity继承自定义基类,在基类中实现关闭程序的功能。

1、首先创建一个控制activity的工具类:

package com.wang.applicationback.utils;

import java.util.ArrayList;
import java.util.List;

import android.app.Activity;

/**
 * Activity活动管理工具
 * @author HeJW
 *
 */
public class ActivityCollector {
	
	public static List<Activity> activitys = new ArrayList<Activity>();
	
	/**
	 * 向List中添加一个活动
	 * @param activity 活动
	 */
	public static void addActivity( Activity activity ){
		
		activitys.add(activity);
	}
	
	/**
	 * 从List中移除活动
	 * @param activity 活动
	 */
	public static void removeActivity( Activity activity ){
		
		activitys.remove(activity);
	}
	
	/**
	 * 将List中存储的活动全部销毁掉
	 */
	public static void finishAll(){
		
		for ( Activity activity : activitys ) {
			
			if ( !activity.isFinishing() ) {
				
				activity.finish();
			}
		}
	}
	
}

 

2、创建自定义的继承activity类的基类:

package com.wang.applicationback.base;

import com.wang.applicationback.utils.ActivityCollector;

import android.app.Activity;
import android.os.Bundle;

public class BaseActivity extends Activity {
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		
		super.onCreate(savedInstanceState);
		ActivityCollector.addActivity(this);
	}
	
	@Override
	protected void onDestroy() {

		super.onDestroy();
		ActivityCollector.removeActivity(this);
	}
	
}

 

3、主要功能代码就已经完成了,在以后写的activity界面中,要让自己的activity继承自定义的基类,如:

package com.wang.applicationback;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import com.wang.applicationback.base.BaseActivity;
public class Activity1 extends BaseActivity {
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity1);
	}
}

 

4、当需要“退出程序”这个功能的时候,只需要用如下代码就可:

ActivityCollector.finishAll();

 

附上demo源码

1
1
分享到:
评论

相关推荐

    Android程序设计基础

     作为基于Linux的开源手机平台,Android包括一部手机工作所需的全部软件——操作系统、用户界面和应用程序,而且不存在任何以往阻碍移动产业创新的专有权障碍。谷歌公司与开放手机联盟合作开发了Android,这个联盟...

    Android应用开发详解

    《Android应用开发详解》 ...Android 应用案例——无线点餐系统,通过一个真实的商业案例讲解了Android的各种应用,本项目包括操作员登录、点餐、结算、转台、并台、查台、更新数据和退出系统等餐厅点餐的常用操作

    snowdream-books-android-1.2.zip

    github上的一个项目项目介绍: 类型: 新闻APP(低仿今日头条) 基本功能: ... ...横向滑动列表显示新闻类别——TabLayout、ViewPager、...用户界面更换头像功能——Android运行时权限、多媒体、Content Provider

    Android蓝牙遥控器(字符串形式)应用例程——bluetoothdemo/BluetoothUnv

    实现功能: (1)打开应用,显示主界面,检测蓝牙功能是否打开,否则询问打开... (7)本应用还附带来电监听功能,有来电时,会自动发送蓝牙消息; (8)点击 [退出] 按钮,关闭蓝牙连接,并且关闭安卓设备蓝牙功能。

    基于Androidstudio的过程监控的学生成绩管理系统

    版权声明:本文为CSDN博主「Android毕业设计源码」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u014388322/article/details/128630057

    Android代码-SlidingShut

    很多APP中都会有右滑关闭功能, 尤其是在全面屏时代更显得尤为重要, 但是, Android 8.0禁止非全屏的Activity使用透明主题, 否则会引发: &gt; Only fullscreen opaque activities can request orientation 这导致了...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    SessionStorage 存储的数据只在会话期间有效,关闭浏览器则自动删除 Sqlite 一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中 W3C 万维网联盟,创建于1994年,是Web技术领域最具权威...

    Android自定义Dialog原理实例解析

    Android开发过程中,常常会遇到一些需求场景——在界面上弹出一个弹框,对用户进行提醒并让用户进行某些选择性的操作, 如退出登录时的弹窗,让用户选择“退出”还是“取消”等操作。 Android系统提供了Dialog类,...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--PopupWindow的返回健关闭 |--RadioGroup的用法(里面的成员可以是任何view) |--SD卡之计算剩余空间 |--Spinner下拉菜单组件 |--SplashActivity |--StringUtils工具类的常用方法 |--TabHost一个界面显示多Activity ...

    APKTool批处理版l

    随着Android手机种类的不断丰富,各种应用软件也开始遍地开花,Android用起来也越来越爽了……不过有很多软件都是老外编的,虽然英文界面也能用,但是毕竟不如咱们中文看着舒服,特别是一些功能相对比较复杂的软件,...

    学生公寓管理系统课程设计CSDN下载频道.doc

    2.2系统主要功能设计 系统主要功能包括: (1):管理系统:实现退出系统地功能. (2):查询学生:按照学号,姓名,家庭住址,班级以及混合查询学生信息. (3)学生管理:录入学生地基本情况,学生离校处理,按学期...

    JAVA上百实例源码以及开源项目

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    JAVA上百实例源码以及开源项目源代码

     Java非对称加密源程序代码实例,本例中使用RSA加密技术,定义加密算法可用 DES,DESede,Blowfish等。  设定字符串为“张三,你好,我是李四”  产生张三的密钥对(keyPairZhang)  张三生成公钥(publicKeyZhang...

    3G手机等嵌入式技术终端实现监控,视频会议,即时通讯的平台开发

    强大的界面定制:手机终端软件开放了自定义接口,支持自定义界面,可定制的内容主要包括:窗口标题、界面显示风格、窗口背景颜色、服务器信息等,,使得手机视频终端与现在视频应用游戏系统天然的集成,有一致的...

Global site tag (gtag.js) - Google Analytics