【发布时间】:2016-01-14 01:09:25
【问题描述】:
如果我的第一个 activity 已关闭,你能告诉我如何运行我的第二个 activity 吗?可能需要一段时间才能打开第二个活动。我应该使用 Service 吗?请举个例子.非常感谢。
【问题讨论】:
-
在什么情况下要运行第二个活动?
-
我希望第一个活动关闭一段时间,然后可以打开第二个活动
标签: android
如果我的第一个 activity 已关闭,你能告诉我如何运行我的第二个 activity 吗?可能需要一段时间才能打开第二个活动。我应该使用 Service 吗?请举个例子.非常感谢。
【问题讨论】:
标签: android
答案将取决于您希望在什么条件下开始下一个活动。以下只是一个示例,在 onDestroy 中所做的任何事情都可以复制到其他任何地方以开始下一个活动。
覆盖第一个活动的 onDestroy 方法,然后触发一个意图来启动第二个活动。 在您的第一个活动中,
public class A extends Activity{
.
.
.
@Override
public void onDestroy(){
Intent in = new Intent(this, SecondActivity.class);
startActivity(in);
.
.
.
}
}
确保这两个活动都在 AndroidManifest.xml 中提及
编辑:要在一段时间后开始,您可以使用这样的处理程序。 (注意:这个未经测试。我希望它能按预期工作)
public void onDestroy(){
new Handler.postDelayed(new Runnable(){
public void run() {
Intent in = new Intent(this, SecondActivity.class);
startActivity(in);
}
}, 7000);
}
这里的 7000 是您想要开始下一个活动的毫秒数。即下一个活动将在 7 秒后开始。
一切顺利:)
【讨论】:
如果我的第一个活动已关闭
对我来说,这听起来像是“由于用户操作而关闭”。从onDestroy() 开始一个新的Activity 是一个坏主意,因为如果需要,系统可能会破坏您的Activity。如果设备旋转,它也可能被破坏。更好的方法是覆盖后退按钮:
@Override
public void onBackPressed() {
//delay 2nd Activity launch
super.onBackPressed();
}
【讨论】: