gpt4 book ai didi

java - 使用 singleTop 重新启动 MainActivity 或应用程序。

转载 作者:行者123 更新时间:2023-11-29 03:22:54 28 4
gpt4 key购买 nike

当 Activity 有以下情况时,如何重新启动我的应用程序或 MainActivity:

android:launchMode="singleTop"

我试过:

Intent i = getBaseContext().getPackageManager().getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);

但是因为 singleTop 这不起作用,还有其他方法吗?

最佳答案

我的主题切换器是这样的:

Intent intent = getIntent();
finish();
startActivity(intent);

基本上,我首先调用 finish(),并且我使用与此 Activity 开始时完全相同的 Intent 。这似乎可以解决问题?

更新:正如下面 Ralf 所指出的,Activity.recreate() 是进入 API 11 及更高版本的方法。如果您在 API11+ 环境中,这是更可取的。如果您使用的是 API 10 或更低版本,您仍然可以检查当前版本并调用上面的代码 fragment 。 (请不要忘记对 Ralf 的回答投赞成票!)

public void reload() {

Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();

overridePendingTransition(0, 0);
startActivity(intent);
}

private void restartFirstActivity()
{
Intent i = getApplicationContext().getPackageManager()
.getLaunchIntentForPackage(getApplicationContext().getPackageName() );

i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK );
startActivity(i);
}

关于java - 使用 singleTop 重新启动 MainActivity 或应用程序。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22604763/

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