我有一个应用程序,在其中从服务生成了大量的通知。对于每个通知,我都有待处理的意图。另外,按下home键会使用以下代码停止我的整个应用程序和服务。
System.exit(0);
触发待处理的意图成功,但在按下主屏幕按钮后,如果我再次重新启动应用程序,它只会显示黑屏并退出。有趣的是,如果我再次点击应用程序图标,它可以成功重新启动。如果活动不使用待处理意图启动,则按下主屏幕按钮并重新启动一切都正常。
这可能是什么原因?任何帮助将不胜感激。
我有一个应用程序,在其中从服务生成了大量的通知。对于每个通知,我都有待处理的意图。另外,按下home键会使用以下代码停止我的整个应用程序和服务。
System.exit(0);
触发待处理的意图成功,但在按下主屏幕按钮后,如果我再次重新启动应用程序,它只会显示黑屏并退出。有趣的是,如果我再次点击应用程序图标,它可以成功重新启动。如果活动不使用待处理意图启动,则按下主屏幕按钮并重新启动一切都正常。
这可能是什么原因?任何帮助将不胜感激。
如果您的服务不应该比活动存在更长时间,那么您可能根本不需要该服务。从您的描述来看,您似乎可以直接从活动中完成所有操作。
如果您需要一些并发操作,请考虑使用AsyncTask。
如果服务仍然是您的最佳选择,则应使用Context.stopService()而不是System.exit(),并在服务的onDestroy()中清理后台线程/通知。