我的活动将应用程序周围的处理程序共享给服务中的工作线程。线程使用handler sendMessage() 活动使用handleMessage() 来处理它们
Activity 进入后台 Android 会杀死它,回来时它会再次启动。
Activity 调用 Service 的静态方法来检查服务中线程的最后状态(关于最后一个 sendMessage() 是什么)。这样它就可以根据服务线程的最后一条消息来初始化它的 UI 状态
Message m = SyncService.lastSyncMessage();
由于某种原因,消息 m 中的包有时是有效的(包含键/值对),有时键/值不存在
通过处理程序将消息转发到 UI 的线程一侧的代码如下所示。
Handler uiHandler = UIGlobals.getHandler();
Message msg = uiHandler.obtainMessage();
Bundle msgBundle = new Bundle();
msgBundle.putInt("status", syncEv.status.ordinal());
msgBundle.putString("param", syncEv.param);
msg.setData(msgBundle);
if(uiHandler.sendMessage(msg))
{
lastMessage = msg;
}
服务中的静态方法
public static Message lastSyncMessage()
{
return lastMessage;
}