2011-04-26 37 views
1

如何在不实际启动屏幕的情况下启动一项活动?Android - 无需启动即可开始活动

+1

如果您不给出额外解释,我们如何理解您的意思? – 2011-04-26 12:51:06

+0

例如:我有2项活动。活动A和B.活动B尽快启动服务。但我想通过活动A开始服务,所以我需要以某种方式从A开始活动B,而不在屏幕上显示它 – Carnal 2011-04-26 12:54:11

+0

我也在想如何做到这一点。我发现最好的解决方案是在活动B中激活我的服务后调用finish()。我真的希望你能在这里得到更好的答案。 – 2011-04-26 12:58:51

回答

1

例如:我有2项活动。活动A和B.活动B尽快启动服务。但我想开始通过酶活性的服务,所以我需要以某种方式开始从A活动B,而不在屏幕上显示它

第1步:在活动A.呼叫startService()

第2步:没有第二步。

如果您想要有一些通用代码,其中活动A或活动B可以启动该服务,请创建一个静态方法或创建A和B都从中继承的基类。

+0

是的,但问题在于服务使用Activity B中的方法。如果我从Activity A使用startService(),则会得到nullpointerexception,因为Activity B中的值尚未启动。 – Carnal 2011-04-26 13:05:51

+1

@Carnal:“是的,但问题是服务使用Activity B中的方法” - 摆脱这一点。你应该永远不会那么做。澄清一下,一个'Service'不应该试图在'Activity'上调用方法。 Android的任何时候都可以销毁“Activity”。如果一个'Service'可以到达'Activity',你就有内存泄漏。我向你保证,无论你想以这种方式解决什么问题,都有更好的解决方案。 – CommonsWare 2011-04-26 13:18:08

+0

你好,我接近第一个的问题是启动我的应用程序,一个用户选择的活动。因此,通常,我默认启动ActivityA,而不是ActivityA检查首选项,并启动ActivityB,C,D ...比ActivityA关闭。我怎样才能做到这一点? – 2011-04-26 13:46:01