综合实例1:访问本地Service服务
a)通过Context的startService()方法启动和停止Service ;
b)通过Context的bindService()方法绑定和解除绑定 ;
实现本地Activity获取service服务,并与之通信,获取service相关数据。
1.源码
(1)src/MainActivity.java:应用程序主Acitvity
功能:获取界面组件并为相关组件注册事件监听器(内部类形式)、启动指定Service、与Service通信
开发核心步骤:
a)实例化两个Intent对象(Intent service),用于指定启动本地哪个Service服务;
b) 对于非绑定式Service:
>调用Context.startService(Intent service)启动非绑定式Service;
>调用Context.stopService(Intent intent)关闭Service;
对于绑定式Service:
>调用Context.bindService(Intent service, ServiceConnection conn, int flags) 启动绑定式Service;
>调用unbindService(ServiceConnection conn)解除与Servcie的绑定并关闭Service;
>创建一个ServcieConnection对象,用于监听访问者与Service之间的连接情况
(1)连接成功:回调该ServiceConnection对象的onServiceConnected(ComponentName name,IBinder service)方法