【面试】Service与Activity如何实现通信

① 通过Binder实现通信

Activity调用bindService(Intent service, ServiceConnection conn, int flags)方法,绑定一个继承Service的引用对象MsgService。通过实例化ServiceConnection接口内部类监听的方法获取MsgService中的Binder对象。如果想实现主动通知Activity的,还可以在MsgService中添加回调方法。

 

② 通过Broadcast实现通信

Activity调用registerReceive(BroadcastReceiver recevier, IntentFilter filter)注册广播接收器,通过startService(Service service)启动一个集成Service的应用对象MsgService,之后MsgService可通过sendBoadcast(Intent intent)更新Actvity内容信息。

不足之处还望谅解,具体源码实现可参考原文

 

posted @ 2015-11-20 14:56  gzejia  阅读(707)  评论(0编辑  收藏  举报