gpt4 book ai didi

重新启动 MAIN Activity 后,Android moveTaskToBack() 不起作用

转载 作者:行者123 更新时间:2023-11-30 00:58:27 26 4
gpt4 key购买 nike

这是我的 onBackPressed:

@Override
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
} else {
moveTaskToBack(false);
}
}

这是我重新启动 MAIN Activity 的方式:

public void restart() {
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
}

moveTaskToBack 在我重新启动之前运行良好。但是重启后就不行了。我该怎么办?

最佳答案

我找到了解决方案。一种方法是将 moveTaskToBack(false); 替换为 moveTaskToBack(true);。但这实际上并不能解决问题。真正的解决方案是添加 finish();重新启动另一个 Activity 后,新 Activity 将成为根 Activity 。现在的代码是这样的:

public void restart() {
Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage(getBaseContext().getPackageName());
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(i);
finish();
}

关于重新启动 MAIN Activity 后,Android moveTaskToBack() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39803503/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com