【发布时间】:2017-03-19 06:35:43
【问题描述】:
我有一个执行 CRUD 操作的 IntentService。我在我的应用程序开始更新数据时启动IntentService,当数据更新后我需要启动一个显示数据的Activity。
但正如我现在所看到的,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;
}
}
}
【问题讨论】:
-
@Christine 是的,我做到了,我的问题没有答案。
-
文档中有一段关于发送通知的内容,这是启动一个 Activity 的一种方式,该活动检索您的 IntentService 创建的结果,它还有一段关于回调的内容,这是服务如何报告给如果您的应用处于活动状态,则为 Activity。如果您的应用不在前台,则可以生成通知。
-
你的问题很不清楚。 “我该如何解决这个问题”,但我没有从您的“问题”中看到需要解决的问题。
标签: android android-intent android-asynctask intentservice