我的要求是,当用户在应用程序的任何屏幕上单击主页按钮时,他将被重定向到设备主屏幕,当他返回应用程序时,他将重定向到应用程序主屏幕,而不是在他按下主页按钮的屏幕上。
任何帮助将不胜感激。
我的要求是,当用户在应用程序的任何屏幕上单击主页按钮时,他将被重定向到设备主屏幕,当他返回应用程序时,他将重定向到应用程序主屏幕,而不是在他按下主页按钮的屏幕上。
任何帮助将不胜感激。
下面是一些代码,您可以使用它来检测主页按钮的按下并调用适当的函数。
@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 manifest 中android:noHistory="true"
对 Activity 进行设置,只要它不在前台,就会从堆栈中删除它。
正如您所说,当您从任何屏幕按下主屏幕按钮时,您想进入主屏幕。因此,您最好采用如下所示的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);
}
然后使用而不是 Activity 扩展您的所有BaseActivity
活动。这样每个 Activity 都可以获得 onKeyDown() 功能,以便在您按下 Home 按钮的任何地方,它都会导航回 HomeScreen 并删除所有 Activity。