在我的应用程序中,我有活动和服务,活动名为startService
和bindservice
(用于服务和活动之间的通信)。
服务socket communication
正在初始化,并且还初始化了一个Messanger handler
以回复活动。应用程序启动并运行时,它正常工作。
一旦应用程序被用户强行关闭,服务就会自动重新启动,我可以在logcat中看到。这里socket也初始化了。但是Messanger handler
仍然为null,因为之前由mMyService.setHandler(handler)
方法初始化,该方法是从活动调用,但这次是在服务自动重新启动时调用的。
如何在应用程序关闭后在活动和服务之间进行通信。服务正在运行,但活动处于死亡状态。
请帮帮我。我花了很多时间在这里。
任何帮助都将不胜感激。
提前致谢。
答案 0 :(得分:1)
强制关闭应用后,您无法与活动进行通信。它消失了。死。
您可以做的是识别情况(例如,您可以检查是否handler == null
,如果是,您可以自动从服务启动活动,如下所示:
if (handler == null) {
Intent intent = new Intent(this, MyActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);
}