作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985
QQ986945193 微博:http://weibo.com/mcxiaobing
【Android】双击返回键,退出android应用程序 双击两次退出程序提示功能 三种实现方法
最下面有项目源代码下载地址。当然,还是希望大家掌握这个小功能。
package davidsystemapp.qq986945193.com.davidsystemapp;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.widget.Toast;
import java.util.Timer;
import java.util.TimerTask;
/**
* @author :程序员小冰
* @GitHub: https://github.com/QQ986945193
* @新浪微博 :http://weibo.com/mcxiaobing
* @CSDN博客: http://blog.csdn.net/qq_21376985
* @交流Qq :986945193
*/
public class MainActivity extends AppCompatActivity {
private Toast toast;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toast = Toast.makeText(getApplicationContext(), "再按一次退出程序", Toast.LENGTH_SHORT);
}
/**
* 双击两次退出程序提示 第一种方式
*/
/* boolean isState = true;//设置双击退出的变量
public void onBackPressed() {
if (isState) { //isState初始值为true
isState = false;
Toast.makeText(this, "再按一次退出程序", Toast.LENGTH_SHORT).show();
new Timer().schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
isState = true;
}
}, 2000);
} else {
finish();
}
}*/
/**
* 双击两次退出程序提示 第二种方式
*/
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
quitToast();
return true;
}
return super.onKeyDown(keyCode, event);
}
private void quitToast() {
if (null == toast.getView().getParent()) {
toast.show();
} else {
finish();
// System.exit(0);
}
}
/**
* 双击两次退出程序提示 第三种方式
* <p/>
* https://github.com/QQ986945193
*/
// 1.on..2.开发者实现 3.系统调用
// 条件 :点击物理键盘或者软件盘
// int keyCode按键编号
/* long[] times = new long[2];
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
// ① 找出回调函数
// ② 点击时间 time1 time2
// ③ 时间 间隔 <2000 退出
// ④ 提示再点一次
times[0] = times[1];
times[1] = System.currentTimeMillis();
if (times[1] - times[0] < 2000) {
finish();
} else {
Toast.makeText(getBaseContext(), "再点一次退出", Toast.LENGTH_SHORT).show();
}
return true;// 消费事件
}
return super.onKeyDown(keyCode, event);
}*/
}
源代码项目下载地址(欢迎star fork):https://github.com/QQ986945193/DavidSystemApp
分享到:
相关推荐
android应用触摸两次返回键退出应用,两秒内触摸两次返回键退出(三种实现方式:线程、计时器、判断超时)
android两次按返回键退出程序实现,一段简短的代码
android中实现按两次返回键退出Activity,不再是返回一次就退出应用,第一次点击提示“再按一次退出应用”
现在市面上很多应用都会有当用户按返回键的时候提示用户:再按一次将退出应用的提示,也就是双击双击返回键退出应用,接下来我们就用几种办法来实现这个功能 效果图 实现 第一种办法 响应Activity的 onKeyUp事件,两...
android中双击返回键退出程序的方法
Android 双击返回键退出程序的方法总结 下面先说说LZ思路,具体如下: 1. 第一种就是根据用户点击俩次的时间间隔去判断是否退出程序; 2. 第二种就是使用Android中计时器(Timer),其实这俩种都差不多. 思路是有...
本篇文章主要介绍了Android中双击返回键退出应用实例代码,具有一定的参考价值,有兴趣的可以了解一下。
本文实例讲述了Android双击返回键退出程序的实现方法,是Android程序开发中一个非常实用的功能,分享给大家供大家参考之用。具体方法如下: 一、实现思路: 用户按下返回键时设定一个定时器来监控是否2秒内实现了...
主要介绍了Android 实现按两次返回键退出程序(两种方法)的相关资料,这里不仅实现还对原理进行了分析,需要的朋友可以参考下
此DEMO实现了现在许多软件中都使用 双击返回按钮退出当前应用 的这么一种比较流行的效果 当然目前这种写法并不是唯一 希望大家多多交流 注:此DEMO可以直接拿来用。没有问题。
参考了一下双击back键退出应用程序的代码,网上主流的一种方法是下面这种方法,实现起来比较简单: @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK)
Android 双击Back键退出应用的实现方法 实现原理: 双击退出程序的原理无非就是设置一个退出标识(询问是否退出),如果改变了这个标识(确认退出),则再次点击时立马退出,如果规定时间内没有退出,则延时重置这...
本文实例讲述了Android双击退出的实现方法。分享给大家供大家参考。具体实现方法如下: 方式一: 重写onBackPressed方法直接监听返回键(建议高版本用2.0以上) 代码如下:@Override public void onBackPressed() {...
实现qml的全局过滤
能实现双击事件,双击单击调用对应方法。快来下载吧,不懂可以留言