开发中我们经常会遇到以下问题,启动app到 A 界面,点击A界面的一个按钮,跳转到B界面。此时,按home键回到桌面 ,短时间内,再次点击桌面上的app重新启动,却是跳转到A页面,但我们想要的效果是 app重新启动直接跳转到B界面。
为此,解决方案如下:
第一步:修改AndroidManifest.xml (修改activity的启动模式)
android:launchMode="singleTask"
第二步:在A界面OnCreate()方法中的setContentView()之前添加代码:
//避免按home键后再次打开程序跳转登录界面,用在setContentView方法前
if (!isTaskRoot()) {
final Intent intent = getIntent();
final String intentAction = intent.getAction();
if (intent.hasCategory(Intent.CATEGORY_LAUNCHER) && intentAction != null && intentAction.equals(Intent.ACTION_MAIN)) {
finish();
return;
}
}