当前位置: 首页 > news >正文

新钥匙网站建设宿州网站建设网站

新钥匙网站建设,宿州网站建设网站,网页制作软件案例,wordpress 获取图片地址1 任务(Mission)管理场景 任务#xff08;Mission#xff09;管理相关的基本概念如下#xff1a; AbilityRecord#xff1a;系统服务侧管理一个UIAbility实例的最小单元#xff0c;对应一个应用侧的UIAbility组件实例。系统服务侧管理UIAbility实例数量上限为512个。 Mi…1 任务(Mission)管理场景 任务Mission管理相关的基本概念如下 AbilityRecord系统服务侧管理一个UIAbility实例的最小单元对应一个应用侧的UIAbility组件实例。系统服务侧管理UIAbility实例数量上限为512个。 MissionRecord任务管理的最小单元。一个MissionRecord中仅有一个AbilityRecord即一个UIAbility组件实例对应一个单独的任务。 MissionList一个从桌面开始启动的任务列表记录了任务之间的启动关系下一个任务由上一个任务启动最底部的任务由桌面启动这里称之为任务链。 MissionListManager系统任务管理模块内部维护了当前所有的任务链与最近任务列表保持一致。 任务的管理由系统应用如桌面应用负责三方应用无法管理任务。用户通过最近任务列表进行任务的相关交互。当创建任务后用户可以对最近任务列表进行如下操作 删除一个指定的任务。 加锁或解锁一个指定的任务加锁后的任务在清理所有任务时不会被清理。 清理最近任务列表中的所有任务。 将一个指定的任务切换到前台。 一个UIAbility实例对应一个单独的任务因此应用调用startAbility()方法启动一个UIAbility时就是创建了一个任务。 桌面应用调用missionManager的接口管理任务需要申请ohos.permission.MANAGE_MISSIONS权限配置方式请参见配置文件权限声明。利用missionManager进行任务管理监听任务变化、获取任务信息、获取任务快照、清理任务、任务加锁/解锁等。 import missionManager from ohos.app.ability.missionManager import { BusinessError } from ohos.base;let listener: missionManager.MissionListener {// 任务创建onMissionCreated: (mission) {console.info(--------onMissionCreated-------)},// 任务销毁onMissionDestroyed: (mission) {console.info(--------onMissionDestroyed-------)},// 任务快照变化onMissionSnapshotChanged: (mission) {console.info(--------onMissionSnapshotChanged-------)},// 任务被移动到前台onMissionMovedToFront: (mission) {console.info(--------onMissionMovedToFront-------)},// 任务图标变化onMissionIconUpdated: (mission, icon) {console.info(--------onMissionIconUpdated-------)},// 任务名称变化onMissionLabelUpdated: (mission) {console.info(--------onMissionLabelUpdated-------)},// 任务实例被关闭onMissionClosed: (mission) {console.info(--------onMissionClosed-------)} };// 1.注册任务变化通知 let listenerId missionManager.on(mission, listener);// 2.获取系统最近20个任务 missionManager.getMissionInfos(, 20, (error, missions) {console.info(getMissionInfos is called, error.code error.code);console.info(size missions.length);console.info(missions JSON.stringify(missions)); });// 3.获取单个任务的详细信息() let missionId 11; // 11只是示例实际是从系统中获取的任务id下面类似 let mission missionManager.getMissionInfo(, missionId).catch((err: BusinessError) {console.info(${err.code}); });// 4.获取任务快照 missionManager.getMissionSnapShot(, missionId, (error, snapshot) {console.info(getMissionSnapShot is called, error.code error.code);console.info(bundleName snapshot.ability.bundleName); })// 5.获取低分辨任务快照 missionManager.getLowResolutionMissionSnapShot(, missionId, (error, snapshot) {console.info(getLowResolutionMissionSnapShot is called, error.code error.code);console.info(bundleName snapshot.ability.bundleName); })// 6.加锁/解锁任务 missionManager.lockMission(missionId).then(() {console.info(lockMission is called ); });missionManager.unlockMission(missionId).then(() {console.info(unlockMission is called ); });// 7.把任务切到前台 missionManager.moveMissionToFront(missionId).then(() {console.info(moveMissionToFront is called ); });// 8.删除单个任务 missionManager.clearMission(missionId).then(() {console.info(clearMission is called ); });// 9.删除全部任务 missionManager.clearAllMissions().catch((err: BusinessError) {console.info(${err.code}); });// 10.解注册任务变化通知 missionManager.off(mission, listenerId, (error) {console.info(unregisterMissionListener); }) 2 任务Mission与启动模式 如前文所述一个UIAbility实例对应一个任务。UIAbility实例个数与UIAbility配置的启动模式有关。在FA模型下通过config.json配置文件中的“launchType”属性配置在Stage模型下通过module.json5配置文件中的“launchType”属性配置。 下面介绍了任务管理如何实现以下三种启动模式UIAbility组件的管理 2.1 singleton单实例模式 应用在运行时只存在一个该UIAbility实例。 2.2 multiton多实例模式 每次调用startAbility()方法都会在应用进程中创建一个该UIAbility实例。 2.3 specified指定实例模式 由AbilityStage的onAcceptWant()决定是否创建新的UIAbility实例。 每个UIAbility实例都对应了一个最近任务列表中看到的Mission任务。 每个UIAbility实例对应的Mission都保留有该UIAbility实例的快照SnapshotUIAbility实例销毁后Mission信息包括UIAbility信息和任务快照依然会保留直到用户删除该任务。 3 页面栈及任务链 3.1 页面栈 单个UIAbility组件可以实现多个页面并在多个页面之间跳转这种UIAbility组件内部的页面跳转关系称为“页面栈”由ArkUI框架统一管理如下图中: UIAbility1的Page1-Page2-Page3 UIAbility2的PageA-PageB-PageC。 页面栈的形成下面2/3/5/6步骤为页面跳转由ArkUI管理 点击桌面图标startAbility启动UIAbility1UIAbility1的初始页面为Page1。点击Page1页面按钮Navigator跳转到Page2页面。点击Page2页面按钮Navigator跳转到Page3页面。点击Page3页面按钮startAbility跳转到UIAbility2UIAbility2的初始页面为PageA。点击PageA页面按钮Navigator跳转到PageB页面。点击PageB页面按钮Navigator跳转到PageC页面。 页面栈的返回下面1/2/4/5步骤为页面跳转由ArkUI管理 在UIAbility2的PageC页面点击返回键回到UIAbility2的PageB页面。在UIAbility2的PageB页面点击返回键回到UIAbility2的PageA页面。在UIAbility2的PageA页面点击返回键跳转到UIAbility1的Page3页面。在UIAbility1的Page3页面点击返回键回到UIAbility1的Page2页面。在UIAbility1的Page2页面点击返回键回到UIAbility1的Page1页面。在UIAbility1的Page1页面点击返回键回到桌面。 3.2 任务链 上文介绍了页面栈的返回如果Ability2页面栈一层层通过返回键返回到最底层再次点击返回键时会返回到Ability1。因为在MissionList中记录了任务Mission之间的启动关系即如果Ability1通过startAbility启动Ability2则会形成一个MissionList任务链Ability1-Ability2当Ability2页面栈返回到首页时再次点击返回键会返回到Ability1的页面。 MissionList任务链记录了任务之间的拉起关系但是这个任务链可能会断开有以下几种情况会导致任务链的断开 进入任务列表把任务链中间某个任务移动到前台。 进入任务列表把任务链中间某个任务清理掉。 单实例UIAbility的任务被不同的任务包括Ability或桌面反复拉起AbilityB为单例。 4 设置任务快照的图标和名称 设置任务快照的图标和名称是为了提高用户界面的可视化性和用户体验以便更好地管理和跟踪应用程序中的任务和功能。通过为每个任务快照设置不同的图标和名称可以更轻松地区分和识别每个任务的功能。 默认情况下任务快照的图标和名称采用的是module.json5配置文件的abilities标签中的icon和label字段如下图所示。 也可以使用UIAbilityContext.setMissionIcon()和UIAbilityContext.setMissionLabel()方法根据需要自定义任务快照的图标和名称。例如对于UIAbility的多实例启动模式可以根据不同的功能配置相应的任务快照的图标和名称。 4.1 设置任务快照的图标仅对系统应用开放 通过调用UIAbilityContext.setMissionIcon()方法修改任务快照的图标。 import common from ohos.app.ability.common; import { BusinessError } from ohos.base;let context: common.UIAbilityContext ...; // UIAbilityContext let pixelMap: PixelMap ...; // 图片的PixelMap信息context.setMissionIcon(pixelMap, (err: BusinessError) {if (err.code) {console.error(Failed to set mission icon. Code is ${err.code}, message is ${err.message});} }) 4.2 设置任务快照的名称 通过调用UIAbilityContext.setMissionLabel()方法修改任务快照的名称。 import common from ohos.app.ability.common; import { BusinessError } from ohos.base;let context: common.UIAbilityContext this.context; // UIAbilityContextcontext.setMissionLabel(test).then(() {console.info(Succeeded in seting mission label.); }).catch((err: BusinessError) {console.error(Failed to set mission label. Code is ${err.code}, message is ${err.message}); });
http://www.pierceye.com/news/146489/

相关文章:

  • 招聘求职网站html模板正规的创业商机网
  • 预付网站建设费会计处理哪里建网站好
  • 做免费网站艺术学院网站建设管理办法
  • 做网站贵吗手机网站wap
  • linux建立网站做网站的应该怎么发广告
  • wordpress使用端口百度seo排名软
  • 用英文字母做网站关键词个人网站的设计与实现专业论文图像处理工具
  • 重庆企业网站推广流程php网站开发技术训练心得
  • 汽车销售网站学校建网站
  • 两台电脑一台做服务器 网站潍坊专业网站建设多少钱
  • 青岛科技街网站建设安徽 网站开发
  • 黑糖不苦建设的网站wordpress获取文章图片不显示
  • 美食网站建设的功能免费做简历的网站
  • 网站建设公司谁管手机如何创建网站
  • 可以自己做网站优化吗最好用的wordpress主题
  • 瓜子二手车网站开发智慧团建注册登记入口
  • 青岛网站开发建设安阳市商祺网络有限责任公司
  • 自己怎么做装修网站网站建设设计岗位职责
  • php语言 网站建设投资2 3万小生意
  • 全美网站开发微转app是用网站做的吗
  • 禹州 什么团购网站做的好广州网站建设程序开发
  • 成都市微信网站建设公司专业app开发
  • 郑州网站建设hndream神木网站设计公司
  • 关于网站集约化建设的讲话抓取网站访客qq号码
  • 南昌住房城市建设支行官方网站海洋网络提供网站建设
  • 网站外链建设的八大基本准则做网站卖得出去吗
  • 网站建设不完整 审核天元建设集团有限公司一公司尤作岭
  • 论坛程序做导航网站专做轮胎的网站
  • 网站开发软件解决方案个人网站可以做资讯吗
  • 网站右击无效是怎么做的牛商网建设的食品网站