我有一个启动并绑定到服务的Activity。它使用数据列表发送意图,服务负责定期更新该数据。这是在handleIntent(Intent)方法中完成的。我想要做的是将更新的数据发送回活动。活动和服务都在同一个应用程序中。我怎样才能听#34;我的服务请求?我是否必须使用Messenger和/或广播接收器?什么是最干净,最简单,最有效的方式?感谢。
答案 0 :(得分:2)
我建议您查看EventBus。它将允许您发送本地广播接收器等事件。从活动中你可以听到特定的事件和显示结果。你甚至可以使用界面从服务中获得回调。
没有任何库,您可以使用LocalBroadcastManager实现此目的。 http://developer.android.com/reference/android/support/v4/content/LocalBroadcastManager.html
答案 1 :(得分:0)
对于此问题,您可以使用ResultReceiver。如果服务和活动共享相同的ResultReceiver对象,那么您可以使用“send(int,Bundle)”方法从服务“推送”数据到Activity,并在Activity侧通过“onReceiveResult(int,Bundle)接收它” ”