我从活动A启动活动B,现在我想在按home键时回到活动A而不是Launcher,如何实现?
我发现了一个类似的情况,LockPatternKeyguardView,它启动一个紧急拨号器,然后按home键,可以再次回到LockPatternKeyguardView,怎么做?
我从活动A启动活动B,现在我想在按home键时回到活动A而不是Launcher,如何实现?
我发现了一个类似的情况,LockPatternKeyguardView,它启动一个紧急拨号器,然后按home键,可以再次回到LockPatternKeyguardView,怎么做?
您不能覆盖主页按钮的行为,因为如果这样做,您可以让用户永远不会退出您的应用程序,而 android 不会让您这样做。
Home 按钮是一个非常危险的覆盖按钮,因此,Android 不会让你覆盖它的行为,就像你做 BACK 按钮一样。
当按下 Home 按钮时,会在您的活动中调用 onStop 方法。所以你可以做的是添加finish(); 在 onStop 方法中销毁您的活动。最终将引发 onDestroy 方法以确认您的活动已完成。
case R.id.home:
Intent i = new Intent(this,Aactivity.class);
startActivity(i);
return true;
我只知道我呈现的一种方式....
按下主页按钮意味着用户想要退出您的应用程序,您不应该覆盖它来留住用户。此外,只有主页按钮才能让用户摆脱卡住的应用程序。考虑将菜单项设置为“主页”或覆盖后退按钮。
您可以在按下按钮时启动您的活动。为此,您必须将活动的操作声明为 HOME。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.HOME" />
</intent-filter>
但是这样做也有缺点:
在第二种情况下,您可以在按下主页按钮时将您的活动设置为默认活动,但它不会启动默认主页屏幕,这在您想要启动其他应用程序时非常有用。所以总是建议不要处理主页按钮。
您也不能像其他键事件一样处理 Home 键(如返回键、菜单键等)
当按下主页按钮时,活动进入 onStop() 状态。因此覆盖活动 B 中的 onStop() 方法并完成活动。如下所示,
protected void onStop() {
finish();
super.onStop();
}