2013-03-21 84 views
0

我想处理设备主页按钮点击我的android应用程序。当谷歌搜索据说,这 Link works.But我有一些疑虑。如何有效地处理设备主页按钮点击?

  1. 它是否支持所有的android版本?如果不支持它们中的哪一个?

  2. 由于使用onAttachedToWindow()方法,是否存在任何结果?

  3. 有没有办法处理主页按钮点击(除了这个)?

由于提前

回答

0

在以前的版本里,才能工作。但是从4.0版本开始,它无法正常工作(尽管在我的模拟器中,这并不适用于api level 11之后的工作,但我根据许多其他链接指出了ics)。

+0

,当用户点击HOME按钮时,我想让应用程序进入后台,并在指定的时间自动重启。如何做到这一点? – 2013-03-21 07:18:24

+0

检查此http://stackoverflow.com/a/10118640/931982和此http://stackoverflow.com/a/5040120/931982 – stinepike 2013-03-21 07:21:05

-1

耶的工作,请试试这个代码

@Override 
public void onAttachedToWindow() { 
super.onAttachedToWindow(); 
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);   
} 

现在处理这样的关键事件,

@Override 

public boolean onKeyDown(int keyCode, KeyEvent event) { 

if(keyCode == KeyEvent.KEYCODE_HOME) 
{ 
Log.i("Home Button","Clicked"); 
} 
if(keyCode==KeyEvent.KEYCODE_BACK) 
{ 

    finish(); 
} 
    return false; 
}; 
+0

它适用于所有的android版本吗? – 2013-03-21 06:08:28

+0

是的,肯定它的作品。请尝试 – AndroidEnthusiastic 2013-03-21 06:25:13

+0

它抛出java.lang.IllegalArgumentException:添加窗口后无法更改窗口类型。 – 2013-12-21 05:18:55

0

在其他帖子上发现了这个。

在较旧的Android版本上工作。但是Android改变了这个,因为他们说“Home Button应该保持Home Button”,他们不希望有人重写Home Button。由于这个原因,你的代码不再工作。

如果您想在按下home按钮时执行某些操作,请在onPause方法中执行此操作。