可能重复:
How can I detect user pressing HOME key in my activity?
我使用下面的代码行来查找是否使用了Android手机的反键,它的工作正常。
但我想检测主页按键按键事件,任何人都可以指导它是如何实现的?
@Override
public void onBackPressed()
{
Toast.makeText(getApplicationContext(),"BackKeyPressed", Toast.LENGTH_LONG).show();
super.onBackPressed();
}
谢谢。 。 。
答案 0 :(得分:3)
您无法“检测主页按键按下事件”,抱歉。
答案 1 :(得分:3)
虽然从技术上讲,回复的人是正确的,但这是一种通过监控活动中的两个事件来检测主页按键的简单方法,它可以满足我的简单需求,也许它也适用于你的。
我在两个事件周围使用了一个100毫秒的栅栏,我觉得它总是适合我。注意:我只测试了一些手机,就像Android中的所有东西一样,你的里程数会因操作系统/硬件的不同而有所不同(即使是记录在案的,有时也不应该工作的东西)
long userInteractionTime = 0;
@Override
public void onUserInteraction() {
userInteractionTime = System.currentTimeMillis();
super.onUserInteraction();
Log.i("appname","Interaction");
}
@Override
public void onUserLeaveHint() {
long uiDelta = (System.currentTimeMillis() - userInteractionTime);
super.onUserLeaveHint();
Log.i("bThere","Last User Interaction = "+uiLag);
if (uiDelta < 100)
Log.i("appname","Home Key Pressed");
else
Log.i("appname","We are leaving, but will probably be back shortly!");
}
答案 2 :(得分:2)
不,这是不可能的。 从Home键代码的文档: http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME
public static final int KEYCODE_HOME
密钥代码常量:Home键。这个 key由框架处理,永远不会传递给 应用强>