2011-09-22 151 views
-1

我有一个应用程序,它在状态栏中显示一条通知,让用户点击以恢复到活动中。在Android中杀死应用程序

在应用程序中,我也将运行在接近应用程序按钮:

android.os.Process.killProcess(android.os.Process.myPid()); 

当我点击关闭按钮的应用程序,该应用程序将得到只要杀了,因为我没有通过进入应用程序点击通知。

如果我通过点击应用程序进入应用程序,应用程序将“闪烁”一秒钟,并显示一个新副本。我想一个新的副本显示。

是否有人碰巧知道这是什么原因造成的?

+0

为什么你要杀应用程序呢?通常没有必要。 –

+0

@Philipp Reichart是的,我知道android系统会在内存耗尽时杀死它。但我试图为用户提供一个选项。 –

+0

您是否尝试过从“Activity”中调用['finish()'](http://developer.android.com/reference/android/app/Activity.html#finish())? –

回答

4

你不杀死Android的应用程序,它不是事情的方式。用户导航离开,系统清理什么时候需要。当手机已经有主页和后退按钮时,为什么需要“关闭”按钮?

1

杀死您的应用程序的过程是一件可怕的事情。根据你的应用程序在做什么,你可能会因为你突然杀死的东西而导致一些资源没有正确清理。没有理由在android上执行此操作。如果没有您的帮助,Android会更好地管理资源/电池寿命。

如果你真的想添加一个关闭按钮,最好的办法是让用户回到他们的主屏幕。

-2

你试过system.exit(0);在的onDestroy()调用完成(),当用户选择“关闭”按钮后,..

即使不建议

0

你说

@Philipp Reichart我试图取代 android.os.Process.killProcess(android.os.Process.myPid());与 完成()但它没有工作。应用程序没有被杀死

我和我的一个应用程序有类似的情况,并且finish()没有工作,所以我简单地使用了.killProcess直到我可以找出这些bug。但这不应该是一个永久的解决方案。

我的问题是线程。确保完成所有线程处理完毕后(关闭IO流,数据库引用,游标等)。一旦我这样做了,没有理由.killProcess完成()完成了这项工作。

另外Android系统内置了“后退”按钮退出和“家”按钮“最小化”(保持应用程序在内存中)。应用程序不需要“退出”按钮,因为它已经在那里,这给你更多的屏幕房地产:)。