androidのBack返回键,home键,menu键监听使用
2013-04-10 11:06
405 查看
1.点击back 键后,弹出对话框
2.如果是想要点击返回键,点击两次才返回时,为了防止意外点击情况
3. 当用户点击自定义的退出按钮或返回键时,在onDestroy()里强制退出应用,或直接杀死进程
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ final AlertDialog exit=new AlertDialog.Builder(this).create(); exit.setTitle("系统提示"); OnClickListener listener=new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { switch(which){ case AlertDialog.BUTTON1: finish(); break; case AlertDialog.BUTTON2: exit.cancel(); break; default: break; } } }; exit.setButton("确定", listener); exit.setButton2("取消", listener); exit.show(); } return super.onKeyDown(keyCode, event); }
2.如果是想要点击返回键,点击两次才返回时,为了防止意外点击情况
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode==event.KEYCODE_BACK){ if(System.currentTimeMillis()-time>2000){ time=System.currentTimeMillis(); }else{ finish(); } return true; } return super.onKeyDown(keyCode, event); }
3. 当用户点击自定义的退出按钮或返回键时,在onDestroy()里强制退出应用,或直接杀死进程
@Override public boolean onKeyDown(int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(keyCode==event.KEYCODE_BACK){ new AlertDialog.Builder(this). setIcon(R.drawable.aa4) .setTitle(R.string.add_user) .setMessage(R.string.action_settings) .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }) .setPositiveButton(R.string.address, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { finish(); } } ).show(); return true; } return super.onKeyDown(keyCode, event); } @Override protected void onDestroy() { // TODO Auto-generated method stub android.os.Process.killProcess(android.os.Process.myPid()); super.onDestroy(); }4. 如果想要屏蔽back键,点击back键无效果
public boolean onKeyDown(int keyCode, android.view.KeyEvent event) { if(keyCode==KeyEvent.KEYCODE_BACK){ return true; }else{ return super.onKeyDown(keyCode, event); } }返回为true, 就无效果了。
相关文章推荐
- android home键,back返回键监听,Window窗体监听返回键
- 监听Android手机常用的三个键,home键,back键及menu键。
- Android 改写返回键事件监听,使得back键功能类似home键,让Acitivty退至后台时不被系统销毁
- Android 物理按键的监听Back,Menu和音量(不包括home键,锁屏键,以及长按菜单的监听
- Android设备Home、Menu和Back返回键的监听
- Android监听返回键、Menu键、Home键、
- [置顶] ANDROID 返回,菜单和HOME键的监听
- Android 使用SwipeBackLayout实现滑动返回上一级页面——实战来袭
- Cocos2dx中响应Android的Back(返回)与Menu(小房子)事件
- android 屏蔽Home键, 屏蔽BACK键,MENU键(亲自实践有效)
- Android中对手机的返回键,Home键以及多功能切换键的监听
- Android按下返回键后,程序不退出,进入后台运行。使用moveTaskToBack(boolean nonRoot)
- Android中对menu、home、back键的监听
- home键、电源键、返回键等的监听-Android
- Android下拦截、监听返回键和home键
- android 在fragment中如何监听返回键,home键
- Android系统onKeyDown监控/拦截/监听/屏蔽返回键、菜单键和Home键
- Android监听Home键和Back键的区别介绍
- 【iOS-cocos2d-X 游戏开发之十五】Cocos2dx中响应Android的Back(返回)与Menu(小房子)事件&&Cocos2dx自动释放粒子内存函数!
- Unity3D与Android项目交互中无法监听back键返回的解决办法