2012-04-10 36 views
0

假设有3个活动A,B和C.在第一次启动我的应用程序B时是通过A创建的。但在随后使用应用程序时,我希望应用程序从B启动并转到C 。 我怎么做?活动控制

(例如,活动A要求创建按钮的数量,并且在B中为C所执行的进一步活动创建了这么多按钮。应该仅在初始化时使用A,而不是进一步使用应用程序。由B创建的活动必须保持不变)

任何参考或示例代码可能有帮助
在此先感谢。

+1

如果我理解正确的话,你想多个入口点到你的应用程序? – 2012-04-10 12:43:47

回答

0

这可以通过很多方式完成,但不是太多的确定的火灾:你将使用的基本方法是一个启动屏幕以及存储在某处的标记变量。正如您的评论中提到的那样,无论何时输入活动A,都可以在SharedPreferences中设置该标志。当你将来回到这个活动时,你可以简单地检查标记是否被设置,然后可能让一个新的Intent从B启动活动C.你也可以用A来做类似的事情,在那里检查标志你选择去应用程序。一个棘手的情况是如何重置标志。有几个选项,你可以保守地重置onStop()中的标志,在考虑生命周期后,这可能是一个好主意。你也可以注册一个启动完成的处理程序,然后重置那里的标志,这实际上可以让你在每次系统启动时重新启动行为。

1

您可以随时通过活动A启动您的应用程序。在A中,检查它是否是第一次。如果是第一次,则执行一些初始化操作并启动B.否则直接启动B. 您可以将isFirstTime标志存储到首选项中。

1

使用此代码在A,B和C类

public boolean onKeyDown(int keyCode, KeyEvent event) 
    { 
     if(keyCode == KeyEvent.KEYCODE_BACK){ 
      finish(); 
      } 
      return super.onKeyDown(keyCode, event); 
    }