0
我的活動將應用程序周圍的應用程序共享給服務中的工作線程。線程使用處理函數sendMessage()使用handleMessage()來處理它們安卓服務中存儲的捆綁鍵/值消失
活動進入背景Android殺死它,當它回來時它會再次啓動。
Activity調用Service的靜態方法來檢查服務中線程的最後一個狀態(關於最後一個sendMessage()是什麼)。因此,它可以根據服務線程的最後一條消息
Message m = SyncService.lastSyncMessage();
出於某種原因,消息m內的軟件包有時是有效的初始化其UI狀態(包含鍵/值對),有時鍵/值不存在
通過處理程序將消息轉發到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;
}