第一个关闭时运行第二个活动

时间:2016-01-13 16:09:41

标签: android

如果我的第一个activity已关闭,您能告诉我如何运行我的第二个activity吗?在第二个活动必须打开之前可能需要一段时间。我应该使用Service ?请举个例子。非常感谢你。

3 个答案:

答案 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包含一些如何处理此问题的代码示例。