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