1.生命周期
Service两种启动模式:
①startService(): onCreate()->onStartCommand()->onDestory()
②bindService(): onCreate()->onBind()->onUnbind()->onDestory()
当多次使用startService启动服务时,onCreate方法只调用一次,onStartCommand方法则跟startService一样,多次调用.多次使用bindService启动服务时,只调用一次onCreate和onBind
2.远程服务(AIDL实现)
服务器端(Service)
步骤1:新建AIDL文件,声明该服务需要向客户端提供的接口
步骤2:在Service子类中实现AIDL中定义的接口方法
步骤3:在AndroidMainfest.xml中注册服务并声明为远程服务
客户端(Client)
步骤1:拷贝服务端的AIDL文件到目录下
步骤2:使用Stub.asInterface接口获取服务器的Binder,根据需要调用服务提供的接口方法
步骤3:通过Intent指定服务端的服务名称和所在包,绑定远程Service
网友评论