`
貌似掉线
  • 浏览: 260527 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android中Activity实现再按一次退出

阅读更多
本文原创,转载请注明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;
	}
}
2
0
分享到:
评论

相关推荐

    Android中实现再按一次返回键退出应用程序

    总结来说,"Android中实现再按一次返回键退出应用程序"的核心是通过重写Activity的onKeyDown()方法,监听返回键事件,并结合时间判断来决定是否真的退出应用。这种设计体现了Android应用开发中的用户体验和交互设计...

    android按返回两次退出

    android中实现按两次返回键退出Activity,不再是返回一次就退出应用,第一次点击提示“再按一次退出应用”

    Android-Android实现了可以滑动左侧边缘退出Activity的功能

    在Android应用开发中,滑动边缘退出Activity是一种常见的交互设计,它可以提供更加直观和便捷的用户界面体验。本文将深入探讨如何在Android中实现这一功能,主要涉及Android自定义手势识别、视图层级管理和Activity...

    再按一次退出

    在Android应用开发中,实现"再按一次退出"的功能,主要涉及到以下几个关键知识点: 1. **BroadcastReceiver**:在某些情况下,开发者可能会选择创建一个BroadcastReceiver监听系统的BACK键事件,当用户连续两次按下...

    Android按两次返回退出应用的代码

    以下是一个简单的示例代码,展示了如何在Android中实现按两次返回键退出应用: ```java private long firstBackPressTime = 0; private static final int TIME_INTERVAL = 2000; // 2秒的时间间隔 @Override ...

    Android-AndroidActivity侧滑退出库

    标题 "Android-AndroidActivity侧滑退出库" 指的是在Android应用开发中,使用特定的库实现Activity的侧滑退出功能。这种功能常见于许多现代Android应用,它为用户提供了一种直观且易于操作的界面返回方式,类似于...

    Android 完全退出程序,关闭所有Activity

    在Android应用开发中,完全退出程序意味着结束所有与应用程序相关的活动(Activity)并释放系统资源。用户通常期望点击“退出”按钮后,整个应用程序能够完全关闭,而不是仅仅停留在后台运行。下面我们将详细讨论...

    android退出所有Activity并且不弹出对话框实现

    在Android应用开发中,有时需要实现一个功能,即在用户操作后退出所有当前栈中的Activity,但不显示任何确认对话框。这个需求通常出现在用户点击退出按钮或者进行某些特殊操作时。本文将深入探讨如何实现这个功能,...

    android点击按钮实现多个Activity滑动切换

    在Android开发中,实现多个Activity之间的滑动切换是一种常见的用户界面交互设计,它可以提供更加流畅且直观的用户体验。本文将详细讲解如何通过点击按钮来实现这种从右侧进入、左侧退出的滑动切换效果。 首先,...

    Android应用开发多个activity完全退出程序方法

    在Android应用开发中,用户可能需要在完成一系列操作后彻底退出程序,特别是在处理完敏感信息或者需要节省系统资源的情况下。通常,一个Android应用由多个Activity组成,每个Activity代表一个独立的屏幕或功能。当...

    Android 一次启动多个Activity (TaskStackBuilder)

    "Android一次启动多个Activity (TaskStackBuilder)"这个话题涉及到Android的Task和Back Stack管理,以及如何利用TaskStackBuilder实现从通知启动多级Activity并保持正确的返回流程。下面将详细阐述这一知识点。 ...

    Android代码一键退出客户端 多个Activity

    Android代码一键退出客户端 多个Activity推出的时候用到的 原理是把所有打开的activity都放在一个list里面 当点击退出的时候便利list 然后一个一个的结束掉。方法简单易懂,一看就会

    Android 多个activity完全退出实例代码

    2、在你要退出的activity Oncreate方法中加入ExitApplication.getInstance().addActivity(this);作用是添加到你的activity历史中。 3、在你当前要完全退出程序的activity中覆盖onKeyDown方法. 4、当你点击手机的返回...

    Android使用Activity用作弹出式对话框

    在Android开发中,有时我们需要创建一个弹出式对话框来与用户进行交互,但不同于常见的`Dialog`类,我们可以利用`Activity`来实现这一功能。这种方式适用于需要更复杂交互或者自定义布局的情况。本文将详细讲解如何...

    Activity启动和退出动画

    在Android开发中,Activity是应用程序的基本构建块,它代表用户与应用交互的界面。当我们谈论Activity的启动和退出动画,我们实际上是在讨论如何通过自定义动画来增强用户体验,使应用更具吸引力。Android系统允许...

    Android 悬浮Activity ( Dialog风格)

    在Android中实现悬浮Activity,首先需要创建一个新的Activity,并在布局文件中设置其样式为Dialog样式。这可以通过修改`<style>`标签中的`parent`属性为`Theme.AppCompat.Dialog`来实现。同时,为了使Activity浮现在...

    android两次按返回键退出程序实现

    在Android开发中,有时我们需要实现这样一个功能:当用户连续两次按下返回键时,应用才退出。这种设计的主要目的是为了提高用户体验,避免用户因误触返回键而导致应用程序意外关闭的情况发生。下面将详细介绍如何...

    Android中Activity切换动画

    在Android开发中,Activity是应用程序的基本构建块,用于表示用户可见的屏幕。Activity之间的切换动画不仅可以提升用户体验,还可以为应用程序增添个性化特色。Android系统提供了一系列的API,允许开发者自定义这些...

    android中连续点击返回键退出整个应用的实现

    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。 首先,我们需要理解Android的Activity生命周期。每个Activity都有其特定的生命周期方法,如onCreate()、onStart()、onResume()...

Global site tag (gtag.js) - Google Analytics