本文原创,转载请注明ITEYE原文地址:http://maosidiaoxian.iteye.com/blog/1403040 或本人博客地址:http://msdxblog.sinaapp.com/?p=316
在这里,最主要的是覆写onKeyDown(int, KeyEvent)方法。
对于实现在一定时间内再按一次退出,思路可以如下:
编写一个辅助类,里面有成员变量boolean isWillExit,当它为true时,则再按一次返回键退出。第一次按返回键时,isWillExit设置为true,再编写一个Runnable实例,在指定时间后设置isWillExit为false。
详细看代码吧。代码如下:
以下代码在Activity中
Exit exit = new Exit();
// ...
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
pressAgainExit();
return true;
}
return super.onKeyDown(keyCode, event);
}
/**
* 再按一次退出程序。
*/
private void pressAgainExit() {
if (exit.isExit()) {
finish();
} else {
Toast.makeText(getApplicationContext(), "再按一次退出程序",
1000).show();
exit.doExitInOneSecond();
}
}
下面是一个辅助类。
class Exit {
private boolean isExit = false;
private Runnable task = new Runnable() {
@Override
public void run() {
isExit = false;
}
};
public void doExitInOneSecond() {
isExit = true;
HandlerThread thread = new HandlerThread("doTask");
thread.start();
new Handler(thread.getLooper()).postDelayed(task, 1000);
}
public boolean isExit() {
return isExit;
}
public void setExit(boolean isExit) {
this.isExit = isExit;
}
}
分享到:
相关推荐
总结来说,"Android中实现再按一次返回键退出应用程序"的核心是通过重写Activity的onKeyDown()方法,监听返回键事件,并结合时间判断来决定是否真的退出应用。这种设计体现了Android应用开发中的用户体验和交互设计...
android中实现按两次返回键退出Activity,不再是返回一次就退出应用,第一次点击提示“再按一次退出应用”
在Android应用开发中,滑动边缘退出Activity是一种常见的交互设计,它可以提供更加直观和便捷的用户界面体验。本文将深入探讨如何在Android中实现这一功能,主要涉及Android自定义手势识别、视图层级管理和Activity...
在Android应用开发中,实现"再按一次退出"的功能,主要涉及到以下几个关键知识点: 1. **BroadcastReceiver**:在某些情况下,开发者可能会选择创建一个BroadcastReceiver监听系统的BACK键事件,当用户连续两次按下...
以下是一个简单的示例代码,展示了如何在Android中实现按两次返回键退出应用: ```java private long firstBackPressTime = 0; private static final int TIME_INTERVAL = 2000; // 2秒的时间间隔 @Override ...
标题 "Android-AndroidActivity侧滑退出库" 指的是在Android应用开发中,使用特定的库实现Activity的侧滑退出功能。这种功能常见于许多现代Android应用,它为用户提供了一种直观且易于操作的界面返回方式,类似于...
在Android应用开发中,完全退出程序意味着结束所有与应用程序相关的活动(Activity)并释放系统资源。用户通常期望点击“退出”按钮后,整个应用程序能够完全关闭,而不是仅仅停留在后台运行。下面我们将详细讨论...
在Android应用开发中,有时需要实现一个功能,即在用户操作后退出所有当前栈中的Activity,但不显示任何确认对话框。这个需求通常出现在用户点击退出按钮或者进行某些特殊操作时。本文将深入探讨如何实现这个功能,...
在Android开发中,实现多个Activity之间的滑动切换是一种常见的用户界面交互设计,它可以提供更加流畅且直观的用户体验。本文将详细讲解如何通过点击按钮来实现这种从右侧进入、左侧退出的滑动切换效果。 首先,...
在Android应用开发中,用户可能需要在完成一系列操作后彻底退出程序,特别是在处理完敏感信息或者需要节省系统资源的情况下。通常,一个Android应用由多个Activity组成,每个Activity代表一个独立的屏幕或功能。当...
"Android一次启动多个Activity (TaskStackBuilder)"这个话题涉及到Android的Task和Back Stack管理,以及如何利用TaskStackBuilder实现从通知启动多级Activity并保持正确的返回流程。下面将详细阐述这一知识点。 ...
Android代码一键退出客户端 多个Activity推出的时候用到的 原理是把所有打开的activity都放在一个list里面 当点击退出的时候便利list 然后一个一个的结束掉。方法简单易懂,一看就会
2、在你要退出的activity Oncreate方法中加入ExitApplication.getInstance().addActivity(this);作用是添加到你的activity历史中。 3、在你当前要完全退出程序的activity中覆盖onKeyDown方法. 4、当你点击手机的返回...
在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...
在Android开发中,Activity是应用程序的基本构建块,它代表用户与应用交互的界面。当我们谈论Activity的启动和退出动画,我们实际上是在讨论如何通过自定义动画来增强用户体验,使应用更具吸引力。Android系统允许...
在Android中实现悬浮Activity,首先需要创建一个新的Activity,并在布局文件中设置其样式为Dialog样式。这可以通过修改`<style>`标签中的`parent`属性为`Theme.AppCompat.Dialog`来实现。同时,为了使Activity浮现在...
在Android开发中,有时我们需要实现这样一个功能:当用户连续两次按下返回键时,应用才退出。这种设计的主要目的是为了提高用户体验,避免用户因误触返回键而导致应用程序意外关闭的情况发生。下面将详细介绍如何...
在Android开发中,Activity是应用程序的基本构建块,用于表示用户可见的屏幕。Activity之间的切换动画不仅可以提升用户体验,还可以为应用程序增添个性化特色。Android系统提供了一系列的API,允许开发者自定义这些...
Toast.makeText(this, "再按一次退出应用", Toast.LENGTH_SHORT).show(); backPressCount++; new Handler().postDelayed(new Runnable() { @Override public void run() { backPressCount = 0; // 如果2秒内...
以下将详细介绍如何在Android中判断当前显示的Activity,并一次性结束所有Activity。 首先,我们需要理解Android的Activity生命周期。每个Activity都有其特定的生命周期方法,如onCreate()、onStart()、onResume()...