冰浪

哥已不再年轻 - 坚定梦想,毕生追求!
posts - 85, comments - 90, trackbacks - 0, articles - 3
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

[转]控制android手机的back键方法

Posted on 2010-01-22 00:03 冰浪 阅读(1081) 评论(0)  编辑  收藏 所属分类: Android

android 的 back键 返回上一级Activity,当然最终会返回到我们的程序的上一级=>主界面,对于很多程序来说不太友好,那么就让我们的程序友好一下吧

在我们程序的主Activity中 重写一下 onKeyDown事件:
 

  1. @Override  
  2. public boolean onKeyDown(int keyCode,KeyEvent event) {   
  3.     // 是否触发按键为back键   
  4.     if (keyCode == KeyEvent.KEYCODE_BACK) {   
  5.         // 弹出 退出确认框   
  6.         this.setConfrimDialogListener(new DialogInterface.OnClickListener() {   
  7.             // 确定 按钮单击事件   
  8.             @Override  
  9.             public void onClick(DialogInterface dialog, int which) {   
  10.                 removeDialog(BaseView.DIALOG_YES_NO_MESSAGE);   
  11.                 // back键默认执行方法   
  12.                 // BaseView.this.finish();   
  13.                 // 结束当前的进程(我们的程序)===>真正意义上的退出   
  14.                 android.os.Process.killProcess(android.os.Process.myPid());   
  15.             }   
  16.         });   
  17.         this.setConfrimDialogText(R.string.alert_dialog_exit_confirm);   
  18.         this.showDialog(BaseView.DIALOG_YES_NO_MESSAGE);   
  19.         /*  
  20.          * 下面这句话很重要,return true  
  21.          * 相当于j2se里事件对象的consume()方法,意思是系统不会继续执行该事件,因为已经被消费掉了,O(∩_∩)O~  
  22.          * 可以看该事件的源码说明:* @return boolean Return true if this event was consumed.  
  23.          */  
  24.         return true;   
  25.     } else// 如果不是back键正常响应   
  26.         return super.onKeyDown(int keyCode,event);   
  27. }  


【转自:http://wylsx.javaeye.com/blog/511489】


只有注册用户登录后才能发表评论。


网站导航: