咱们提供 apkplug 下OSGI使用demo 源码托管地址为 http://git.oschina.net/plug/OSGIService java
一 需求 git
经过 <<apkplug中OSGI服务基本原理-08>>咱们知道怎样注册于查询OSGI Service。但查询方式必须在Service启动之后才能使用,而有时咱们并不知道Service什么时候启动,而只须要在Service启动之后能当即获取到并使用。OSGI提供监听器的形式动态监听指定Service的注册于注销过程。 ide
二 OSGI Service 监听代码 post
private ServiceReference ref=null; private printLog service=null; context.addServiceListener( new ServiceListener(){ @Override public void serviceChanged(ServiceEvent event) { switch (event.getType()) { case ServiceEvent.REGISTERED: //服务注册 if (ref == null ) { ref = event.getServiceReference(); service = (printLog) context.getService(ref);//保存实例以备后续访问 } break ; case ServiceEvent.UNREGISTERING: //服务注销 if (ref == event.getServiceReference()) { context.ungetService(ref); //释放实例 service = null ; ref = null ; } break ; } } },"(objectclass=com.apkplug.osgi.service.printLog)" );//服务名称