重新启动应用程序失败(Android)

6

我有一个应用程序,在其中从服务生成了大量的通知。对于每个通知,我都有待处理的意图。另外,按下home键会使用以下代码停止我的整个应用程序和服务。

System.exit(0);

触发待处理的意图成功,但在按下主屏幕按钮后,如果我再次重新启动应用程序,它只会显示黑屏并退出。有趣的是,如果我再次点击应用程序图标,它可以成功重新启动。如果活动不使用待处理意图启动,则按下主屏幕按钮并重新启动一切都正常。

这可能是什么原因?任何帮助将不胜感激。


你是在按下主页按钮时自己停止应用程序的吗?如果是,你是如何实现的? - Dmitry Ryadnenko
在“onPause()”中,我正在检查应用程序是否在后台运行。如果是这样,我将使用以下方法完成我的应用程序和服务:System.exit(0); - hacker
1
我猜在程序运行过程中这样停止应用程序是一个不好的做法。这样可能会导致系统处于损坏的状态。 - Dmitry Ryadnenko
那么该怎么办呢?有什么解决方案吗? - hacker
你可以在onPause()中关闭/暂停与位置相关的任务,这是常见的做法。 - Dmitry Ryadnenko
显示剩余7条评论
1个回答

0

如果您的服务不应该比活动存在更长时间,那么您可能根本不需要该服务。从您的描述来看,您似乎可以直接从活动中完成所有操作。

如果您需要一些并发操作,请考虑使用AsyncTask。

如果服务仍然是您的最佳选择,则应使用Context.stopService()而不是System.exit(),并在服务的onDestroy()中清理后台线程/通知。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接