如果我的第一个activity
已关闭,您能告诉我如何运行我的第二个activity
吗?在第二个活动必须打开之前可能需要一段时间。我应该使用Service
?请举个例子。非常感谢你。
答案 0 :(得分:1)
答案取决于您希望开始下一个活动的条件。以下只是一个示例,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点后开始。
一切顺利:)
答案 1 :(得分:0)
如果我的第一项活动已经关闭
对我而言,听起来你的意思是“因用户操作而关闭”。从Activity
开始新的onDestroy()
是糟糕的主意,因为如果需要,系统可能会销毁您的Activity
。如果旋转设备,它也可能被破坏。更好的方法是覆盖后退按钮:
@Override
public void onBackPressed() {
//delay 2nd Activity launch
super.onBackPressed();
}
答案 2 :(得分:0)
如果您尝试在第一个活动中延迟启动第二个活动,则如果应用程序已从内存中清除,则您可能无法打开它。您最好的选择是使用AlarmManager
计划在一定时间后开启新活动。这将工作放在Android操作系统而不是您的应用程序中。
This post包含一些如何处理此问题的代码示例。