android 应用常见退出方法

对于初学者来讲,android应用的退出有时候挺让人头疼,下面简单总结几种常见的退出方法:

大的方向,退出思路无非就是将程序所有activity进行销毁,思路清晰了,就看使什么招了~

1.制造抛异常导致整个程序退出

    2.将所有的activity放入到一个list中,然后在需要退出的时候,将所有的activity,finish掉

    3.通过广播来完成退出功能

1.制造抛异常导致整个程序退出:

详见http://blog.csdn.net/liuhe688/article/details/6584143

2.将所有的activity放入到一个list中,然后在需要退出的时候,将所有的activity,finish掉:

application里面定义一个集合

activity oncreate的时候将对应的activity加入到集合中,退出的时候遍历之前打开的activity,并将其关闭。

for (Activity activity :leCacheApp.openActivity) {

activity.finish();}

android.os.Process.killProcess(android.os.Process.myPid());

System.exit(0);

3.通过广播来完成退出功能:

在每个Activity创建时(onCreate时)给Activity注册一个广播接收器,当退出时发送该广播即可。大概的代码如下:

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

IntentFilter filter = new IntentFilter();

filter.addAction("finish");

registerReceiver(mFinishReceiver, filter);

}

private BroadcastReceiver mFinishReceiver = new BroadcastReceiver() {

@Override

public void onReceive(Context context, Intent intent) {

if("finish".equals(intent.getAction())) {

Log.e("#########", "I am " + getLocalClassName()  + ",now finishing myself...");

finish();

}

}

};

在退出时执行以下代码即可关闭所有界面完全退出程序:

getApplicationContext().sendBroadcast(new Intent("finish"));

时间: 2024-10-29 00:01:00

android 应用常见退出方法的相关文章

Android之完美退出方法

为什么要写这篇文章? 网上有很多种退出方法,可实际上很多方法都不通用(在某个版本下可用,到了另一个版本就不行),或者方法的实际效果根本就和其描述不符(也不知道那些发帖的人测没测试过). 但我们的需求又确实存在.在某些情况下,我们需要在应用中打开多个Activity,但如果仅仅使用finish()方法就不能在需要的时候达到一次性退出的效果,自己作为一个Android退出问题的受害者,通过良久思考和实际测试,找到了一个比较不错的,在2.1-2.2-2.3版本下都通用的完全退出方法(2.1版本也基本可

Android经典完美退出方法

Android经典完美退出方法,使用单例模式创建一个Activity管理对象,该对象中有一个Activity容器(具体实现自己处理,使用LinkedList等)专门负责存储新开启的每一个Activity,并且容易理解.易于操作,非常不错! AppUtils类(储存每一个Activity,并实现关闭所有Activity的操作) /* * To change this template, choose Tools | Templates * and open the template in the

Android中常见IPC方法总结

欢迎转载,转载请注明出处http://blog.csdn.net/l664675249/article/details/50654926 IPC (Interprocess communication)跨进程通信,是指在两个进程之间交换数据的过程.多进程通信一般分为两种情况.第一种,一个应用因为自身的需要采用多进程实现,比如某些模块由于特殊原因需要运行在单独的进程中.第二种情况,当前应用需要获得其它应用的数据,由于是两个应用,所以必须采用跨进程的方式.下面就对常用的IPC方法做一个总结. 使用B

Android Studio常见问题解决方法

一.卡死问题 新建项目时程序会卡在这一步 原因:AS会自动下载相关的Gradle包,本机上是gradle-2.2.1-all,下不下来所以会一直卡在这里 解决方法:自己搞个Gradle包. 步骤: 1.      用任务管理器强制关闭Android Studio 2.      进入项目/gradle/wrapper中,本机环境如图: 3.      打开gradle-wrapper.properties可以看见如下内容: 最后一行就是下载地址.直接改成:distributionUrl=grad

Android程序退出方法

app退出方法记录: 1.exit System.exit(0); 如果参数为0,表示正常退出:不为0,则表示异常结束程序. 如果首个activity中使用,关闭app程序:否则是返回首个activity效果. 该方法只关闭activity,不会关闭服务. 2.Pid int pid = android.os.Process.myPid(); //获取当前应用程序的PID android.os.Process.killProcess(pid); //杀死当前进程 这种方法退出应用,是会保留某些后

Android APP 退出方法

Android 项目常见的退出方式有两种一种是弹出dialog对话框提示用户退出应用,下面就两种实现形式有示列代码可以参考: 第一种弹出dialog样式退出方式: 1.第一步首先要监测用户是否按下back键,就要重写onKeyDown() 2.构建dialog 主要代码如下: @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (event != null && keyCode ==

Android 一次退出所有activity的方法

转自:http://bbs.51cto.com/thread-970933-1.html 因为android的API中没有提供一次性退出的接口所以想要在多activity的程序里面一次性退出的话就要费点功夫了.我是在一个单例对象里面记录activity栈中activity的引用然后在需要退出时遍历一遍finish()掉就可以了.实现步骤如下:1.创建一个单例对象 package com.exit; import java.lang.ref.SoftReference;import java.ut

android开发常见编程错误总结

1.设置TextView的文本颜色 1 2 3 TextView tv; ... tv.setTextColor(R.color.white); 其实这样设置的颜色是 R.color.white的资源ID值所代表的颜色值,而不是资源color下的white颜色值:正确的做法如下: 1 tv.setTextColor(getResources().getColor(R.color.white)); 这个出错的概率满高的,就是因为二者都是int类,导致编译器不报错. 2.读取Cursor中的值 1

android开发之onCreate( )方法详解

onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Google Android Developers官网上的解释: onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource d