HarmonyOS实战开发-短时任务

介绍

本示例主要展示后台任务中的短时任务。

通过@ohos.resourceschedule.backgroundTaskManager ,@ohos.app.ability.quickFixManager 等接口实现应用热更新的方式去展现短时任务机制。

效果预览

在这里插入图片描述
使用说明

1.安装本应用之前,先编译好未签名的应用包,然后在终端执行工程里的脚本b_sign_hap_release.bat 去生成签名的应用包,再将此签名应用包进行安装即可;

2.进入应用,点击检查更新按钮,点击弹出框更新按钮会进行下载补丁包;

3.将应用退出到后台后关闭;

4.再次进入应用,页面版本信息由3.1.7.5更新为3.2.8.3;

工程目录

entry/src/main/ets/
|---Application
|   |---MyAbilityStage.ts                    
|---feature
|   |---LoadFile.ts                          // 文件加载
|   |---SaveFile.ts                          // 文件保存
|---MainAbility
|   |---MainAbility.ts                       // 短时任务
|---pages
|   |---Index.ets                            // 首页
|   |---TitleBar.ets                         // 标题
|   |---UpdateDialog.ets                     // 检查更新
|---util
|   |---Logger.ts                            // 日志工具

具体实现

  • 该示例使用cancelSuspendDelay方法取消延迟挂起,applyQuickFix方法快速修复补丁,createHttp方法创建一个HTTP请求,openSync方法同步打开文件,writeSync方法同步将数据写入文件,closeSync方法同步关闭文件流等接口实现应用热更新的方式去展现短时任务机制。

相关权限

1.允许应用安装、卸载其他应用权限:ohos.permission.INSTALL_BUNDLE

2.允许使用Internet网络权限:ohos.permission.INTERNET

依赖

不涉及。

约束与限制

1.本示例仅支持标准系统上运行,支持设备:RK3568;

2.本示例已适配API version 9版本SDK,版本号:3.2.11.9;

3.本示例仅支持模块化编译,在build-profile.json5文件的buildOption字段添加"compileMode": “esmodule”;

4.本示例需要使用系统权限的接口。使用Full SDK时需要手动从镜像站点获取,并在DevEco Studio中替换。

5.本示例需要使用DevEco Studio 3.1 Beta2 (Build Version: 3.1.0.400, built on April 7, 2023)才可编译运行。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo code/BasicFeature/TaskManagement/TransientTask/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master

为了帮助大家更深入有效的学习到鸿蒙开发知识点,小编特意给大家准备了一份全套最新版的HarmonyOS NEXT学习资源,获取完整版方式请点击→HarmonyOS教学视频:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

HarmonyOS教学视频:语法ArkTS、TypeScript、ArkUI等…视频教程

在这里插入图片描述
在这里插入图片描述

鸿蒙生态应用开发白皮书V2.0PDF: 获取完整版白皮书方式请点击→https://docs.qq.com/doc/DZVVkRGRUd3pHSnFG?u=a42c4946d1514235863bb82a7b2ac128

在这里插入图片描述

鸿蒙 (Harmony OS)开发学习手册→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

一、入门必看

1.应用开发导读(ArkTS)
2………
在这里插入图片描述

二、HarmonyOS 概念→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.系统定义
2.技术架构
3.技术特性
4.系统安全
5…

在这里插入图片描述

三、如何快速入门?→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.基本概念
2.构建第一个ArkTS应用
3…

在这里插入图片描述

四、开发基础知识→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.应用基础知识
2.配置文件
3.应用数据管理
4.应用安全管理
5.应用隐私保护
6.三方应用调用管控机制
7.资源分类与访问
8.学习ArkTS语言
在这里插入图片描述

五、基于ArkTS 开发→https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

1.Ability开发
2.UI开发
3.公共事件与通知
4.窗口管理
5.媒体
6.安全
7.网络与链接
8.电话服务
9.数据管理
10.后台任务(Background Task)管理
11.设备管理
12.设备使用信息统计
13.DFX
14.国际化开发
15.折叠屏系列
在这里插入图片描述

更多了解更多鸿蒙开发的相关知识可以参考:https://docs.qq.com/doc/DZVVBYlhuRkZQZlB3

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531597.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【MPI并行程序】完美解决Attempting to use an MPI routine before initializing MPI

文章目录 错误原因解决方案 最近在写并行程序,犯了一个小错误,记录一下,以防止以后再犯。 Attempting to use an MPI routine before initializing MPI(在初始化 MPI 之前尝试使用 MPI 例程) 错误原因 这个错误通常是因…

MySQL学习笔记2——基础操作

基础操作 一、增删改查1、添加数据2、删除数据3、修改数据4、查询语句 二、主键三、外键和连接1、外键2、连接 一、增删改查 1、添加数据 INSERT INTO 表名[(字段名[,字段名]…)] VALUES (值的列表); --[]表示里面的内容可选添加数据分为插入数据记录和插入查询结果 插入数据…

【Vuforia+Unity】AR判断当前平台获取点击/触摸坐标点选中识别的二维码跳转网页

实现了:【VuforiaUnity】判断当前平台获取点击/触摸坐标点选中识别的二维码跳转网页 using UnityEngine; using Vuforia; public class BarcodeScanner : MonoBehaviour { public TMPro.TextMeshProUGUI barcodeAsText; string platformNum""; privat…

Java研学-RBAC权限控制(一)

一 权限控制 1 介绍 RBAC(Role-Based Access Control,基于角色的访问控制)是一种流行的权限控制策略,用于实现复杂系统的安全访问管理。它通过将权限与角色相关联,而不是直接与用户相关联,从而简化了权限管…

《QT实用小工具·二十三》 Ntp校时类

1、概述 源码放在文章末尾 该项目实现了 Ntp校时类 ,包含如下功能: 可设置Ntp服务器IP地址。 推荐用默认的阿里云时间服务器 ntp1.aliyun.com 收到时间信号发出。 时间精确到秒。 下面是demo演示: 项目部分代码如下: #if…

组态王与美国罗克韦尔AB PLC之间无线通讯方案详解

组态王与多台美国罗克韦尔AB PLC间的无线通信测试需要用到以下设备: 三菱PLC型号:FX5u 2台 上位机:组态王6.55 1台 达泰欧美系PLC无线通讯终端——DTD418MB 3块 主从关系:1主2从 通讯接口:RJ45接口 供电&…

传统前端 JS 开发者有福了

大家好,春天的百花绽放之际,各个行业也迎来了各自的新生与挑战。有的继续沉下心来夯实基础,有的大力发展出海业务,又或者通过顶级促销套路天女散花般地贩卖高仿保时捷……这厢 Mendix 各位技术小伙伴继续紧跟时代脉搏,…

【linux】拓展知识-linux图形界面(GUI 程序)、X11介绍

linux图形界面 Linux 本身是没有图形化界面的,linux只是一个基于命令行的操作系统,所谓的图形化界面系统只不过中 Linux 下的应用程序。没有图形界面linux还是linux,很多装linux的WEB服务器就根本不装X服务器。 这一点和 Windows 不一样。W…

制作一个RISC-V的操作系统十-Trap和Exception(流 mtvec mepc mcause mtval mstatus trap完整流程)

文章目录 流mtvecmepcmcausemtvalmstatustrap 初始化trap的top half(硬件完成)trap的bottom half(软件完成)从trap返回代码实现 流 控制流:程序控制的执行流 trap分为中断和异常 mtvec base:存储trap入…

python|sort_values()排序

sort_value()可以用来对值(比如说年龄)进行排序 根据 ‘Age’ 列进行升序排序,如果 ‘Age’ 相同则根据 ‘Name’ 列进行降序排序 df_sorted_multi df.sort_values(by[Age, Name], ascending[True, False]) print(df_sorted_multi)

如何在WHM面板上更改主机名

本周有一个客户,购买Hostease的独立服务器并选择了WHM控制面板,询问我们的在线客服,如何在WHM面板上更改主机名。我们为用户提供教程,用户很快完成了设置。在此,我们分享这个操作教程,希望可以对您有帮助。…

SpringBoot内容协商快速入门Demo

1.什么内容协商 简单说就是服务提供方根据客户端所支持的格式来返回对应的报文,在 Spring 中,REST API 基本上都是以 json 格式进行返回,而如果需要一个接口即支持 json,又支持其他格式,开发和维护多套代码显然是不合理…

超图SuperMap-Cesium,地形图层,可以渲染一个或多个地形(地形可缓存DEM,TIN方式),webGL代码开发(2024-04-08)

1、缓存文件类型TIN格式,TIN的地形sct只能加一个 const viewer new Cesium.Viewer(cesiumContainer); viewer.terrainProvider new Cesium.CesiumTerrainProvider({isSct: true, // 是否为iServer发布的TIN地形服务,stk地形设置为falserequestWaterMask : true,…

代理IP在爬虫中的连接复用与开销减少

目录 一、引言 二、代理IP的基本概念 三、代理IP在爬虫中的使用 四、代理IP的连接复用 五、减少开销的策略 六、代码示例与注释 七、总结 一、引言 在爬虫开发中,代理IP的使用是常见的做法,尤其在目标网站设置了反爬虫机制时。代理IP能够帮助爬虫…

小狐狸转账失败,提示gas费过高

做web3开发的时候,明明自己小狐狸里还有2.15的代币,但页面我要转出2.1的时候,明明是够的,而且使用小狐狸提示gas费用是21000,这已经是最小的了,但网页转出到其他账户总是提示失败。而且这个错误非常不好捕获…

二手车的一些经验

买辆二手车是怎样一种体验? - 知乎 买辆二手车是怎样一种体验? - 知乎 作者:jingangdaddy 链接:https://www.zhihu.com/question/28827207/answer/2881156930 来源:知乎 著作权归作者所有。商业转载请联系作者获得授…

c++调python接口

1. 新建run.py文件,并定义相关接口: import numpy as np from scipy.fftpack import fftdef str_add(str1,str2):return int(str1) int(str2)def my_sort(data):data.sort()return datadef aw_fft(data, Fs):N len(data)result np.abs(fft(xdata, n…

HarmonyOS 开发-自定义视图实现Tab效果

介绍 本示例介绍使用Text、List等组件,添加点击事件onclick,动画,animationTo实现自定义Tab效果。 效果预览图 使用说明 点击页签进行切换,选中态页签字体放大加粗,颜色由灰变黑,起到强调作用,同时&…

【C++入门】内联函数、auto与基于范围的for循环

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

非线性滤波相位解缠算法

相位解缠是InSAR数据处理流程中较为关键的步骤,同时也是地表高程模型重建 过程中的主要误差来源之一。迄今为止,针对干涉图的相位解缠问题,已经提出了各 种各样的相位解缠算法,这些算法大致可以分为以下几类:①路径跟踪…