gpt4 book ai didi

android - 使用 onResume 方法重启 Activity

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:16:18 25 4
gpt4 key购买 nike

我想用 onResume() 方法重新启动一个 Activity 。我以为我可以使用 Intent 来实现这一点,但最终会陷入无限循环。

@Override
protected void onResume() {
Intent intent = new Intent(MainActivity.this, MainActivity.class);
MainActivity.this.startActivity(intent);
finish();
super.onResume();
}

是否有其他方法可以重新启动 Activity ?

最佳答案

我会质疑你为什么要这样做......但这是我脑海中浮现的第一件事:

@Override
protected void onCreate(Bundle savedInstanceState) {
...
Log.v("Example", "onCreate");
getIntent().setAction("Already created");
}

@Override
protected void onResume() {
Log.v("Example", "onResume");

String action = getIntent().getAction();
// Prevent endless loop by adding a unique action, don't restart if action is present
if(action == null || !action.equals("Already created")) {
Log.v("Example", "Force restart");
Intent intent = new Intent(this, Example.class);
startActivity(intent);
finish();
}
// Remove the unique action so the next time onResume is called it will restart
else
getIntent().setAction(null);

super.onResume();
}

您应该使 “Already created” 独一无二,这样其他 Intent 就不会意外地执行此操作。

关于android - 使用 onResume 方法重启 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12146522/

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