参考文章:
http://blog.csdn.net/mapdigit/article/details/7704291
我的补充:
在LocalServiceActivities.java文件中,本例使用的是其内部类Binding extends Activity。
1
点击bind按钮:
doBindService——bindService:参数一传递了intent,表示要启动LocalService,参数二是ServiceConnection对象mConnection
之后系统创建LocalService,进入到LocalService.java的onCreate函数,显示notification。
然后进入LocalService的onBind函数,这返回一个LocalBinder对象mBinder。LocalBinder是一个继承了Binder的自定义类,getService函数会再onBind后调用。返回这个Service的对象本身。LocalServiceAcitivity可以通过这个mBinder来调用LocalService的方法。
接着当客户端和服务器端(activity和service)连接上时,会调用LocalServiceActivity中ServiceConnection对象的onConnection方法。
2
点击onbind按钮:
doUnbindService——unbindService:参数传递了mConnection,关闭连接。
之后会调用LocalService的onDestroy函数。
3
点击程序对出按钮,程序流程和2一样