gpt4 book ai didi

android - 当上下文被破坏时,我们不能通过使用 Intent 来启动一个新的 Activity 吗?我对吗?

转载 作者:行者123 更新时间:2023-11-29 02:22:58 25 4
gpt4 key购买 nike

当上下文已经被销毁时,我们不能通过使用 Intent 来启动一个新的 Activity ?我对吗?以及为什么在 Thread 运行时按下后退按钮可以启动 Activity?

下面是我的代码

public class Main3Activity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);

try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Intent intent = new Intent(this, Main2Activity.class);
startActivity(intent);
}

@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}
}

最佳答案

是的,您无法启动 Activity ,因为线程休眠时的 onBackPressed() 操作会触发 InterruptedException。

无论如何要开始 Activity ,您可以像这样将 Intent 移动到 catch block 中。

public class Main3Activity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main3);

try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
Intent intent = new Intent(this, Main2Activity.class);
startActivity(intent);
}

}

@Override
public void onBackPressed() {
super.onBackPressed();
finish();
}

}

关于android - 当上下文被破坏时,我们不能通过使用 Intent 来启动一个新的 Activity 吗?我对吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54089044/

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