我有一個執行CRUD操作的IntentService
。當我的應用程序開始更新數據時,我開始了IntentService
,當數據更新時,我需要啓動顯示數據的Activity
。您能否向我解釋IntentService的工作原理
但是正如我現在看到的,IntentService
在一個單獨的進程中啓動我的代碼,在我的活動被創建後完成,所以我有空的活動。我能解決這個問題嗎?或者標準Service
是唯一的方法?
@Override
protected void onHandleIntent(Intent intent) {
Log.e("action",intent.getStringExtra(Utils.INTENT_SERVICE_INVOKE));
ResultReceiver resultReceiver = intent.getParcelableExtra(Utils.RECEIVER);
switch (intent.getStringExtra(Utils.INTENT_SERVICE_INVOKE)){
case Utils.LOAD_All_DATA:{
loadActivities();
loadPersons();
loadPictureData();
Log.e("order","forth");
resultReceiver.send(Utils.TASK_FINISHED,new Bundle());
// Intent broadcastIntent = new Intent();
// broadcastIntent.setAction(Utils.LOAD_All_DATA);
// sendBroadcast(broadcastIntent);
break;
}
case Utils.READ_ACTIONS_DATA:{
readActionData();
break;
}
case Utils.READ_PERSONS_DATA:{
readPersonsData();
break;
}
case Utils.READ_ACTION_BY_ID:{
readActionDataById(intent);
break;
}
}
}
您是否閱讀過文檔?它在這裏:https://developer.android.com/reference/android/app/IntentService.html – Christine
@Christine是的,我沒有,我的問題沒有答案。 – Turbozanik
該文檔有一段關於發送通知的段落,這是啓動一個Activity來檢索IntentService創建的結果的一種方式,它也有一個關於回調的段落,這就是如果您的應用程序處於活動狀態,服務將如何報告給Activity 。如果您的應用不在前臺,則生成通知是一種方法。 – Christine