今天我们来聊一下Service Ability,基于Service模板的Ability(以下简称“Service”)主要用于后台运行任务(如执行音乐播放、文件下载等),但不提供用户交互界面。Service可由其他应用或Ability启动,即使用户切换到其他应用,Service仍将在后台继续运行。

这里就不得不提到另外一个知识点,线程。

其实目前我们前面提到的一些UI布局的绘制都是在主线程上进行的,又称UI线程,默认情况下,所有的操作都是在主线程上执行,这里如果我们系统通过ServiceAbility来完成后台运行任务,我们首先要初步了解一下asyncDispatch。

(1)初识TaskDispatcher的异步派发任务asyncDispatch;

那么TaskDispatcher又是什么呢?TaskDispatcher是一个任务分发器,它是Ability分发任务的基本接口,隐藏任务所在线程的实现细节。详细的介绍我们放到后面,先来了解异步派发任务asyncDispatch:派发任务,并立即返回,返回值是一个可用于取消任务的接口。

(2)创建Service Ability;

通过工具栏File->New->Ability->Empty Service Ability来创建Service Ability,这样创建的好处是可以在config.json中自动完成Service Ability的配置。

(3)启动Service Ability;

这里还可以通过Intent的构造元素Parameters来传递参数,进行简单的数据传递。

(4)连接ServiceAbility

如果Service需要与Page Ability或其他应用的Service Ability进行交互,则应创建用于连接的Connection。Service支持其他Ability通过connectAbility()方法与其进行连接。在使用connectAbility()处理回调时,需要传入目标Service的Intent与IAbilityConnection的实例。IAbilityConnection提供了两个方法供开发者实现:onAbilityConnectDone()用来处理连接的回调,onAbilityDisconnectDone()用来处理断开连接的回调。

连接时步骤(1)(2)保持不变,connectAbility中传入intentService和connection。

这里详细的创建IDL文件过程可参考《IDL接口使用规范》和《定义HarmonyOS IDL接口》。这个在后续的文章中分析讨论,目前官方的接口还无法成功回调onAbilityConnectDone()。

(5)最后附上其生命周期的说明。

本文由GZH程序员小小叶发布!

鸿蒙os后台运行,Day10 鸿蒙,Ability全家桶(二)如何后台运行任务相关推荐

  1. 鸿蒙OS内核分析|解读鸿蒙源码

    操作系统(Operating System): 操作系统的功能是负责管理各种硬件设备,同时对底层硬件设备进行抽象,为上层软件提供高效的系统接口.操作系统设计和实现的优劣直接决定了系统栈的各个方面,比如 ...

  2. 鸿蒙操作系统游戏模式,鸿蒙OS 2.0采用鸿蒙和Android 10双架构,游戏性能比EMUI11表现好...

    鸿蒙OS 2.0采用鸿蒙和Android 10双架构,来支持兼容安卓APP 看到报道的这个成绩,鸿蒙系统下比EMUI11系统表现更加优秀,这一点就成功了,接下来当真正完全使用鸿蒙内核之后应该有很好的表 ...

  3. 鸿蒙os系统使用技巧,鸿蒙OS系统详解

    华为的鸿蒙OS是一款"面向未来"的操作系统,是基于微内核的全场景分布式OS,可按需扩展,实现更广泛的系统安全.目前主要用于智能物联网,今年将扩展到智能手机上鸿蒙OS拥有分布架构.内 ...

  4. 华为出鸿蒙是不是给人看的,谁来成为鸿蒙OS失去的“躯壳” 鸿蒙OS(HarmonyOS),在很多人眼中,是华为万物互联的起点,也是反抗之下诞生出的杰作,亦是中国科技史上重要的里程... - 雪球...

    来源:雪球App,作者: 速途网,(https://xueqiu.com/2989821209/181729468) 鸿蒙OS(HarmonyOS),在很多人眼中,是华为万物互联的起点,也是反抗之下诞 ...

  5. 华为鸿蒙os什么时候发布,鸿蒙OS将于今天发布

    万众期待的鸿蒙OS将在6月2日和大家正式见面,之前就有消息曝光了首批支持华为鸿蒙OS 2.0的手机名单,共有11款机型,预计华为将会在6月2日发布会之后正式向这11款手机提供系统的推送,除此之外,未来 ...

  6. 华为鸿蒙os设置界面,华为鸿蒙OS系统界面疑似曝光 运行性能提升超60%

    01华为鸿蒙OS系统界面疑曝光 近日,网上曝光了疑似华为鸿蒙OS操作系统的截图照片.据截图信息显示,此次"鸿蒙"OS操作系统的界面,不论在功能排列.状态栏,还是字体布局.按键配色等 ...

  7. 鸿蒙os上手,Mate40 Pro鸿蒙OS快速上手体验+一点个人看法

    新增应用图标上划直达任务. 这个功能是我目前最看好前景的,它将每个应用中的常用功能独立成了小组件,而上划应用图标就可以直达这个小组件,或者将它固定在桌面.目前除了自带应用,狗东也适配了,上划可以直接进 ...

  8. 华为鸿蒙os系统有哪些黑科技,华为首款搭载鸿蒙os智慧产品除了鸿蒙系统还有这黑科技...

    华为的鸿蒙系统自曝光以来,一直受到大家的关注,一度被认为是系统级别的产品,作用是为了取代安卓.但在后期的辟谣当中,证实了华为鸿蒙是智慧物联网系统,将搭载在车联网等产品上.在前日,终于曝出了第一款搭载鸿 ...

  9. 鸿蒙os跑分,预装鸿蒙OS 2.0!华为MatePad Pro2跑分曝光:麒麟9000、8GB内存

    原标题:预装鸿蒙OS 2.0!华为MatePad Pro2跑分曝光:麒麟9000.8GB内存 预装鸿蒙OS 2.0!华为MatePad Pro2跑分曝光:麒麟9000.8GB内存 因为一些众所周知的原 ...

  10. 鸿蒙OS平板界面,华为鸿蒙OS平板操作界面曝光,华为MatePad Pro2,搭载麒麟9000

    原标题:华为鸿蒙OS平板操作界面曝光,华为MatePad Pro2,搭载麒麟9000 日前,根据国内数码博主的爆料,华为MatePad Pro2平板电脑已经通过了国内的3C认证.重点是,这款平板电脑出 ...

最新文章

  1. 【批处理学习笔记】第二十四课:直接传递
  2. Mycat1.6之注解多租户
  3. 寻找内存泄漏:一个案例研究
  4. [UVA315]Network(tarjan, 求割点)
  5. Opencv--bitwise_and、bitwise_not等图像基本运算及掩膜
  6. Python分析热门话题“不生孩子的人后来都怎么了”,看看丁克家庭最后都怎么样了...
  7. 最火UI素材|短视频、直播APP套件,轻松搞定设计
  8. c语言玫瑰花图形程序,一个玫瑰花的程序
  9. php 查询cpu使用率,php获取CPU使用情况的代码
  10. 10074 启用开发者模式 for vs2015rc
  11. 拓端tecdat|R语言ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列
  12. 从零开始设计一款APP之如何做原型图
  13. 蔡学镛 java_转蔡学镛:该学Java或.NET,欢迎大家讨论,要对事不对人呵 - 第3页
  14. 以太坊实战篇-创建并运行一个最简单的转账合约
  15. 如何把控单元测试的粒度让你省时省力甚至一劳永逸建议一键收藏
  16. web显示csv_10 种最流行的 Web 挖掘工具!
  17. 基于若依框架项目点击登录时出现TypeError: Cannot read properties of undefined (reading ‘user‘)
  18. Swagger API文档Responses中Object类型无法显示,求指引
  19. 六级考研单词之路-四
  20. 【win+linux双系统如何正确卸载linux系统】

热门文章

  1. [转载]程序员三部曲
  2. 后台版本趣味测试威信小程序源码下载支持自定义问题等等
  3. boll指标(布林带)计算公式
  4. zzuli oj 2532: 婷婷是土豪 DFS深搜
  5. PCIE-PCB设计规范!(建议收藏)
  6. alienware17R5折腾记
  7. 格式工厂 – 万能视频/音频/图片多媒体格式转换软件 (完全免费)
  8. 前端webap下新增后缀名字类型。前台报错404,访问不到的解决办法是:
  9. 软件魔方制作系统启动盘并安装win7系统
  10. 文科专业计算机等级吗,文科生如何过计算机等级考试