很多网友不明白如何在Android平台上捕获Back键的事件,Back键是手机上的后退键,一般的软件不捕获相关信息可能导致你的程序被切换到后台,而回到桌面的尴尬情况,在Android上有两种方法来获取该按钮的事件。
1.直接获取按钮按下事件,此方法兼容Android 1.0到Android 2.1 也是常规方法,直接重写Activity的onKeyDown方法即可,代码如下:
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { //按下的如果是BACK,同时没有重复
Toast.makeText(android123.this,"Android开发网Back键测试",1).show();
return true;
}
return super.onKeyDown(keyCode, event);
}
而对于Android 2.0开始又多出了一种新的方法,对于Activity 可以单独获取Back键的按下事件,直接重写onBackPressed方法即可,代码如下
@Override
public void onBackPressed() {
// 这里处理逻辑代码,cwj提示大家注意该方法仅适用于2.0或更新版的sdk
return;
}
=======================
back键在程序的生命周期有很大作用,譬如某个activity你只想让他出现一次,在周期中点击了back,就让他被销毁掉··
android 的 back键 返回上一级Activity,当然最终会返回到我们的程序的上一级=>主界面,对于很多程序来说不太友好,那么就让我们的程序友好一下吧!
在我们程序的主Activity中 重写一下 onKeyDown事件:
@Override
public boolean onKeyDown(int keyCode,KeyEvent event) {
// 是否触发按键为back键
if (keyCode == KeyEvent.KEYCODE_BACK) {
// 弹出 退出确认框
this.setConfrimDialogListener(new DialogInterface.OnClickListener() {
// 确定 按钮单击事件
@Override
public void onClick(DialogInterface dialog, int which) {
removeDialog(BaseView.DIALOG_YES_NO_MESSAGE);
// back键默认执行方法
// BaseView.this.finish();
// 结束当前的进程(我们的程序)===>真正意义上的退出
android.os.Process.killProcess(android.os.Process.myPid());
}
});
this.setConfrimDialogText(R.string.alert_dialog_exit_confirm);
this.showDialog(BaseView.DIALOG_YES_NO_MESSAGE);
/*
* 下面这句话很重要,return true
* 相当于j2se里事件对象的consume()方法,意思是系统不会继续执行该事件,因为已经被消费掉了,O(∩_∩)O~
* 可以看该事件的源码说明:* @return boolean Return true if this event was consumed.
*/
return true;
} else// 如果不是back键正常响应
return super.onKeyDown(int keyCode,event);
}
分享到:
相关推荐
android fragment中监听back键demo
Android 拦截返回键事件的实例详解 KeyEvent类 Android.View.KeyEvent类中定义了一系列的常量和方法,用来描述Android中的 按键事件和返回键有关的常量和方法有。 KeyEvent.KEYCODE_BACK: 表示key类型为返回键 ...
Android 点击两次返回键退出程序
最近在做一个Android上的应用,碰到一个问题就是如何实现长按back键退出应用程序。在网上查找了很多资料,发现几乎没有这样的实现,大部分在处理时是双击back键来退出应用程序。参考了一下双击back键退出应用程序的...
这个demo主要讲解了Back按键的监听事件,希望可以帮助需要的同学.
android开发中的帮助代码,back键取代home键,很有用,很方便。
本文实例分析了Android中home键和back键区别。分享给大家供大家参考。具体如下: back键 Android的程序无需刻意的去退出,当你一按下手机的back键的时候,系统会默认调用程序栈中最上层Activity的Destroy()方法来销毁...
一:Android 中Home键监听和Back键监听的区别: (1).在Android中,当按下Home键的时候,默认情况下Stop前台的Activity,即Activity设置成停止状态【onStop()】,而不是销毁状态【onDestory()】。如果再次启动该...
Android Slide Back 一行代码实现滑动返回 > 1、类似于“小米MIX”/“即刻App” 的这种全屏滑动返回 兼容性好,不易出错 > > 2、相比其他类似的侧滑返回的开源库 这个更扩具有扩展性,效率也相对高一些 > > 3、...
屏幕触控事件和按键事件,拖动图片,连按两次back键退出系统
本文主要给大家介绍了关于React Native中Android物理back键按两次返回键就会退出应用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 话不多说,直接上图: 测试代码 第16~22行 设置...
此类为安卓源码 ,包括长按home键,电源键,back 键,音量键,等
Android的backButton案例,适合初学者的Android的backButton案例,适合初学者,里面有注释,代码清晰明了,导入项目即可使用,亲测可用。
Android 如何解决dialog弹出时无法捕捉Activity的back事件 在一些情况下,我们需要捕捉back键事件,然后在捕捉到的事件里写入我们需要进行的处理,通常可以采用下面三种办法捕捉到back事件: 1)重写onKeyDown...
主要介绍了Android 双击Back键退出应用的实现方法的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
实现qml的全局过滤