
Service Ability 原创
CHXI29
发布于 2021-6-4 15:17
7333浏览
0收藏
基本概念
基于Service模板的Ability主要用于【后台运行任务】,【不提供】用户交互界面。Service是【单实例】的。在一个设备上,相同的Service只会存在一个实例。
回调方法
onStart()
该方法在【创建】Service【的时候】调用,用于Service的初始化。在Service的整个生命周期只会调用一次,调用时传入的Intent应为空。
onCommand()
在Service【创建完成之后】调用,该方法在客户端每次启动该Service时都会调用,用户可以在该方法中做一些调用统计、初始化类的操作。
onConnect()
在【Ability和Service 连接时调用】,该方法返回IRemoteObject对象,用户可以在该回调函数中生成对应Service的IPC通信通道,以便Ability与Service交互。Ability可以多次连接同一个Service,系统会缓存该Service的IPC通信对象,只有第一个客户端连接Service时,系统才会调用Service的onConnect方法来生成IRemoteObject对象,而后系统会将同一个RemoteObject对象传递至其他连接同一个Service的所有客户端,而无需再次调用onConnect方法。
onDisconnect()
在Ability与绑定的Service断开连接时调用。
onStop()
在Service销毁时调用。Service应通过实现此方法来清理任何资源,如关闭线程、注册的侦听器等。
案例
在MainAbilitySlice的代码
ServiceAbility代码
1、初始化service 调用 onStart
2、初始化完成后 调用 onCommand
3、连接服务与断开连接服务 最后调用stop之前,推到后台调用onbackground。
前台Service 代码 在serviceAbility里面的onstart()里面调用
©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
分类
标签
已于2021-6-7 15:57:12修改
赞
收藏
回复

回复
相关推荐