我继承了一个项目,我不明白如何获得响应,或者从以下代码设置回调:
startService(new Intent(this, VenueUpdateService.class));
即使VenueUpdateService失败,应用程序仍在继续。我想更改它,以便应用程序等待VenueUpdateService成功/失败。
我在VenueUpdateService类中收到有关成功/失败的回复。但是,如何将其传递回启动服务的活动?
谢谢, 詹姆斯。
答案 0 :(得分:2)
你要做的事对我来说似乎有点奇怪。如果调用startService,服务将始终成功启动。这并不是说startService是一个需要包含在try / call块中的危险行为。
但我想你的Activity可以注册一个BroadcastReceiver,它接收onStartCommand中服务发送的广播。
或者也许你正在寻找绑定到服务,在这种情况下你会知道什么时候你绑定。 see here
答案 1 :(得分:-1)
我所做的是将IntentService更改为AsyncTask。
我基本上想要阻止用户与应用程序进行交互,而VenueUpdateService就是这样做的,因为它必须至少成功一次才能继续使用该应用程序。
所以现在我有:
VenueUpdateTask task = new VenueUpdateTask();
task.execute(response);
在该课程中,我会显示一个进度对话框,更新场地。