我的要求是当用户在应用程序的任何屏幕上点击主页按钮时,他被重定向到设备主屏幕,当他回到应用程序时,他将重定向到应用程序主屏幕,而不是在他按下主页的屏幕上按钮。
任何帮助都会受到赞赏。
答案 0 :(得分:0)
以下是一些可用于检测Home-Button推送和调用适当函数的代码。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_HOME:
finish();
return true;
}
}
return super.onKeyDown(keyCode, event);
}
或
在android清单中,在活动上设置android:noHistory="true"
,只要它不在前台,就会从堆栈中删除活动。
答案 1 :(得分:0)
正如您所说,当您从任何屏幕按Home键时,您想要进入主屏幕。因此,您最好采用BaseActivity
扩展Activity
并覆盖onKeyDown()
,如下所示。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (event.getAction() == KeyEvent.ACTION_DOWN) {
switch (keyCode) {
case KeyEvent.KEYCODE_HOME:
// Implement starting Home Activity with Clear Top
return true;
}
}
return super.onKeyDown(keyCode, event);
}
然后使用BaseActivity
而非活动扩展您的所有活动。这样每个活动都会获得onKeyDown()功能,这样当你按下Home Button时,它会导航回HomeScreen并删除所有活动。