如何从startService()获得响应/设置回调

时间:2012-11-06 02:28:17

标签: android android-intent

我继承了一个项目,我不明白如何获得响应,或者从以下代码设置回调:

startService(new Intent(this, VenueUpdateService.class));

即使VenueUpdateService失败,应用程序仍在继续。我想更改它,以便应用程序等待VenueUpdateService成功/失败。

我在VenueUpdateService类中收到有关成功/失败的回复。但是,如何将其传递回启动服务的活动?

谢谢, 詹姆斯。

2 个答案:

答案 0 :(得分:2)

你要做的事对我来说似乎有点奇怪。如果调用startService,服务将始终成功启动。这并不是说startService是一个需要包含在try / call块中的危险行为。

但我想你的Activity可以注册一个BroadcastReceiver,它接收onStartCommand中服务发送的广播。

或者也许你正在寻找绑定到服务,在这种情况下你会知道什么时候你绑定。 see here

答案 1 :(得分:-1)

我所做的是将IntentService更改为AsyncTask。

我基本上想要阻止用户与应用程序进行交互,而VenueUpdateService就是这样做的,因为它必须至少成功一次才能继续使用该应用程序。

所以现在我有:

VenueUpdateTask task = new VenueUpdateTask();
task.execute(response);

在该课程中,我会显示一个进度对话框,更新场地。

相关问题