2011-12-27 64 views
2

如何在android屏幕上打开对话框时拦截HOME键。在Android中打开对话框时拦截HOME键

+1

在你的问题本身,我可以看到很多问题。你到目前为止尝试过什么?你面临的问题是什么? etc ... – 2011-12-27 09:38:20

+0

当在屏幕上打开对话框时,在那段时间,如何拦截Home Key? – 2011-12-27 09:44:55

+0

由于缺乏解释,您的问题即将关闭。所以,最好是修改你的问题,并针对你的问题。 – 2011-12-27 09:47:27

回答

3

我得到了我的问题的解决方案。现在,我可以按照我想要的方式成功拦截HOME按钮。我写这篇博客的所有步骤: http://nisha113a5.blogspot.in/2012/01/intercept-home-key-android.html

+0

你在你的博客提到它不工作在我的情况下,我使用的是ics。 – 2013-05-02 09:57:35

+0

@viewPagerSpecialist先前用ics进行过测试,无法拦截... – 2013-06-15 10:45:14

-1

对话框

new OnKeyListener() { 

       @Override 
       public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) { 
        // TODO Auto-generated method stub 

        if(keyCode == KeyEvent.KEYCODE_HOME){ 
         //do something 
        } 
        return false; 
       } 
      }); 
+0

以上方法没用。通过应用此方法无法解决问题。 – 2011-12-27 09:16:59

+0

@aNi我最近使用KeyDown方法和KeyEvent.KEYCODE_HOME来检测家庭按键,但它从来没有给Android的应用程序它是Android系统框架。 – Herry 2011-12-27 09:40:22

2

DialogInterface.OnKeyListener根据机器人实现你不能使用简单的API像OnKeyListener赶上Home键的按键事件()。

+0

它已被修复... – 2011-12-27 13:16:24

0

如果你想在Activity搞清楚用户是否移出你的Activity故意的妥善管理对话框的外观(打backhome按钮) 或无意中通过让其他活动隐藏你的(例如来电) 使用onUserLeaveHint

例如为:

@Override 
protected void onUserLeaveHint() { 
    super.onUserLeaveHint(); 

    mDialog.dismiss(); 
} 
+0

'onUserLeaveHint'被*调用为无意中断。从文档中:“例如,当用户按Home键时,onUserLeaveHint()将被调用,但是当来电打电话导致通话中的Activity被自动带到前台时,onUserLeaveHint()将不会被调用关于活动被打断。“ – kolistivra 2014-03-18 11:57:23