2011-12-02 64 views
1

我已经看了很多关于此的其他线程,但还没有任何运气,但他们的解决方案。 当我第一次启动我的应用时,我注意到onResume在onCreate之后被调用。 (不知道为什么) 我的问题是当我尝试第二次运行应用程序。 onCreate和onResume都不会被调用,它只是坐在那里。 另外,我有这些设置在我的清单设置:ANDROID活动强制停止重新启动

android:clearTaskOnLaunch="true" 
android:screenOrientation="landscape" 
android:noHistory="true" 

如果我想运行我的应用程序不止一次,我必须进入设置 - >应用程序 - >应用程序 - 名称 - >强制关闭

(我没有访问寻找任何回路或坏的错误,可能是因为我使用的是它自己的线程库中造成粘连。)

有没有一种办法可以解决这个?

+0

“我的问题是当我尝试第二次运行应用程序时,onCreate和onResume都没有被调用,它只是坐在那里。”如何让应用真正从头开始运行? – user980058

+0

您是否尝试清理您的项目? –

+0

只是试图清洗它。它也没有帮助。 – user980058

回答

0

这是android manages the activities的方式。如果您希望自己的活动经历整个生命周期,请明确调用其finish()方法。

+0

我已经尝试把finish()放在onStop和onPause中,但它没有帮助。我并不完全相信他们甚至被召唤。 – user980058

+0

为了确保它们被调用,可以给它们添加一个断点,或者用Log.e(String,String)'在其中打印一些消息,例如 –

+0

将'android:clearTaskOnLaunch'设置为“false”,看看你得到了什么。如果您提供了在调用finish()方法后未重新创建的活动的源代码,那将会很好。 –

4

在您的onDestroy方法中调用Process.sendSignal(Process.myPid(), Process.SIGNAL_KILL);。这不好,但是这个问题的最佳解决方案。