我们在写android应用程序时,经常会遇到想退出当前Acitivity,或者直接退出应用程序.我之前的一般操作是按返回键,或者直接按home键直接返回,其实这两种操作都没有关闭当前应用程序,没有释放系统资源。每次退出界面之后应用程序还在运行,今天查了下资料终于把这个问题给解决了,网上提供了几种方法,我吸收了下面这个自认为简单易懂的方法,将下面SysApplication这个类复制到工程里面,然后在每个Acitivity的oncreate方法里面通过SysApplication.getInstance().addActivity(this); 添加当前Acitivity到ancivitylist里面去,最后在想退出的时候调用SysApplication.getInstance().exit();可直接关闭所有的Acitivity并退出应用程序。
Android按两次返回键,退出应用程序
当我们按返回键时,都只是退出当前的activity,并不是退出整个应用程序,所以在这里我们试用一下方法退出应用程序;
private long mExitTime ; //退出时间
//捕捉按键
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
if ((System.currentTimeMillis() - mExitTime) > 2000 ) {
Toast.makeText(this, "再按一次退出应用程序", Toast.LENGTH_SHORT).show();
mExitTime = System.currentTimeMillis();
}else{
SysApplication.getInstance().exit();
}
return true;
}
return super.onKeyDown(keyCode, event);
}
import java.util.LinkedList;
import java.util.List;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Application;
import android.content.DialogInterface;
import android.content.Intent;
public class SysApplication extends Application {
private List<Activity> mList = new LinkedList<Activity>();
private static SysApplication instance;
private SysApplication() {
}
public synchronized static SysApplication getInstance() {
if (null == instance) {
instance = new SysApplication();
}
return instance;
}
// add Activity
public void addActivity(Activity activity) {
mList.add(activity);
}
public void exit() {
try {
for (Activity activity : mList) {
if (activity != null)
activity.finish();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
System.exit(0);
}
}
public void onLowMemory() {
super.onLowMemory();
System.gc();
}
}
在应用程序里面 的activity的oncreate里面添加SysApplication.getInstance().addActivity(this)如:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SysApplication.getInstance().addActivity(this);
}
分享到:
相关推荐
在安卓应用开发中,有时为了提高用户体验,我们会设置一种机制,即用户需要连续点击两次返回键才能退出应用。这种设计可以防止用户误操作导致应用意外关闭。下面我们就来详细解析如何实现这一功能。 #### 一、功能...
在Android系统中,点击两次返回键退出程序是一种常见的应用安全机制,目的是防止用户意外地退出正在使用的应用。这种设计能够确保用户在误触返回键时,不会立即退出应用,而是需要再次确认。以下是对这个主题的详细...
Android 实现按两次返回键退出程序(两种方法) 第一种方法: // 是否退出程序 private static Boolean isExit = false; // 定时触发器 private static Timer tExit = null; 第二种方法: public boolean ...
Android 返回键退出代码,第一次提示用户再按一次返回键退出,两秒钟内再按一次则退出程序,否则认为用户取消了退出操作!下下来就可以用,绝对好用哦~~~!!
android中实现按两次返回键退出Activity,不再是返回一次就退出应用,第一次点击提示“再按一次退出应用”
### Android 两次按返回键退出程序实现 在Android开发中,有时我们需要实现这样一个功能:当用户连续两次按下返回键时,应用才退出。这种设计的主要目的是为了提高用户体验,避免用户因误触返回键而导致应用程序...
以下是一个简单的示例代码,展示了如何在Android中实现按两次返回键退出应用: ```java private long firstBackPressTime = 0; private static final int TIME_INTERVAL = 2000; // 2秒的时间间隔 @Override ...
下面我们将详细探讨如何在Android中实现"按两次返回键退出软件"的Demo。 首先,我们需要了解Android的Activity生命周期。Activity是Android应用的基本组件,它负责与用户进行交互。在Activity的生命周期中,有两个...
在Android开发中,为了提升用户体验,开发者经常会在应用程序中实现“按两次返回键退出应用”的功能。这种设计可以有效地避免用户因误触返回键而导致应用意外关闭的情况。本文将详细介绍该功能的核心代码实现原理、...
我们可以在很多应用中都能看到按两次返回键退出 , 其实这个功能实现很容易, 下面就是实现的代码 , 把它放到你的程序中你的程序就能按两次返回键退出啦 , 这个功能是为了避免误点而把程序退出了 ,给你的程序也...
以上就是实现“点击两次返回键退出”功能的基本步骤。这个功能可以增强应用的用户体验,避免用户意外退出应用。同时,注意在实际应用中,还需要考虑到其他可能的情况,例如后台服务、多个Activity的管理等,以确保...
在这个示例中,`exitTime`变量用于存储上一次返回键被按下时的时间戳。当用户第一次点击返回键时,我们不会立即退出应用,而是显示一个Toast提示用户再次点击。如果在2秒钟内用户再次按下返回键,`exitTime`与当前...
在Android应用开发中,"点击两下返回键退出当前应用"是一种常见的用户交互设计,它提高了用户体验,使得用户能够快速且直观地退出应用程序。这个DEMO实现的功能是当用户连续两次按下返回键时,程序会识别到这一行为...
在Android开发中,确保用户...综上所述,通过监听返回键事件、计数器机制以及适当的延迟处理,我们可以实现用户连续点击返回键退出整个Android应用的功能。这种设计不仅提供了良好的用户体验,也增强了应用的安全性。
但是,在某些特定场景下,比如游戏或者全屏模式,开发者可能会希望用户在短时间内连续按下两次返回键来退出应用,以防止误操作。标题"Android 2秒内按两次back键退出应用"所涉及的知识点就是如何实现这一功能。 ...
在Android操作系统中,“再按一次返回键退出”是一种常见的应用设计模式,它的目的是为了防止用户意外退出应用程序。这种设计借鉴了360等安全软件的做法,以提供更友好的用户体验。当用户在应用中按下返回键时,系统...
这种方法通过监听系统关闭对话框的意图,判断用户是否在短时间内连续按下两次返回键。如果是,则视为退出操作,结束进程。 总结 这两种方法都是有效的处理返回键退出程序的方式。重写onBackPressed()方法简单直观...
在Android应用开发中,用户经常会遇到使用返回键退出程序的需求。这个压缩包文件"Android应用源码之返回键退出程序的两种方式.zip"显然包含了关于如何实现这一功能的示例代码。在这里,我们将深入探讨这两种常见的...
这个例子“按两次回退键退出程序”是Android应用程序中一个常见的功能设计,它主要用于防止用户意外地关闭应用程序。通常,按下一次回退键会返回上一个活动(Activity),而连续按两次则会退出整个应用程序。这一...