HarmonyOS 应用开发之FA模型启动Stage模型UIAbility

本文介绍FA模型的三种应用组件如何启动Stage模型的UIAbility组件。

PageAbility启动UIAbility

在PageAbility中启动UIAbility和在PageAbility中启动PageAbility的方式完全相同。

import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import Logger from '../../utils/Logger';

const TAG: string = 'PageInterflowFaAndStage';

let want: Want = {
  bundleName: 'ohos.samples.etsclock',
  abilityName: 'MainAbility'
};
featureAbility.startAbility({ want }).then((code) => {
  Logger.info(TAG, 'Ability verify code: ' + JSON.stringify(code));
}).catch((error: BusinessError) => {
  Logger.error(TAG, 'Ability failed: ' + JSON.stringify(error));
});

PageAbility访问UIAbility(startAbilityForResult)

startAbilityForResult和startAbility的区别是当UIAbility销毁的时候会返回执行结果。

在PageAbility中通过startAbilityForResult启动UIAbility和在PageAbility中通过startAbilityForResult启动PageAbility的方式完全相同。

import featureAbility from '@ohos.ability.featureAbility';
import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import Logger from '../../utils/Logger';

const TAG: string = 'PageInterflowFaAndStage';

let want: Want = {
  bundleName: 'ohos.samples.etsclock',
  abilityName: 'MainAbility'
};
featureAbility.startAbilityForResult({ want }).then((result) => {
  Logger.info(TAG, 'Ability verify result: ' + JSON.stringify(result));
}).catch((error: BusinessError) => {
  Logger.error(TAG, 'Ability failed: ' + JSON.stringify(error));
});

ServiceAbility/DataAbility启动UIAbility

在ServiceAbility/DataAbility中启动UIAbility和在ServiceAbility/DataAbility中启动PageAbility的方式完全相同。

import particleAbility from '@ohos.ability.particleAbility';
import { BusinessError } from '@ohos.base';
import Want from '@ohos.app.ability.Want';
import hilog from '@ohos.hilog';

const TAG: string = '[Sample_FAModelAbilityDevelop]';

let want: Want = {
  bundleName: 'ohos.samples.etsclock',
  abilityName: 'MainAbility'
};
particleAbility.startAbility({ want }).then(() => {
  hilog.info(TAG, 'StartUIAbility Start Ability successfully.');
}).catch((error: BusinessError) => {
  hilog.error(TAG, 'StartUIAbility Ability failed: ' + JSON.stringify(error));
});
hilog.info(TAG, 'StartUIAbility ServiceAbility onStart');

为了能让大家更好的学习鸿蒙(HarmonyOS NEXT)开发技术,这边特意整理了《鸿蒙开发学习手册》(共计890页),希望对大家有所帮助:https://qr21.cn/FV7h05

《鸿蒙开发学习手册》:

如何快速入门:https://qr21.cn/FV7h05

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

开发基础知识:https://qr21.cn/FV7h05

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

基于ArkTS 开发:https://qr21.cn/FV7h05

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

鸿蒙开发面试真题(含参考答案):https://qr18.cn/F781PH

鸿蒙开发面试大盘集篇(共计319页):https://qr18.cn/F781PH

1.项目开发必备面试题
2.性能优化方向
3.架构方向
4.鸿蒙开发系统底层方向
5.鸿蒙音视频开发方向
6.鸿蒙车载开发方向
7.鸿蒙南向开发方向

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

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

相关文章

Roxlabs代理服务:智能化数据采集的加速器

TOC 一、引言 在这个数据驱动的时代,无论是企业还是个人,对于准确、及时的信息获取都有着前所未有的需求。网络数据采集已成为洞察市场趋势、分析竞争对手动态、优化营销策略的关键手段。然而,面对全球范围内的网站和服务,如何高…

数据结构与算法 循环双链表基本运算与对称算法

一、实验内容 1、实现循环双链表的各种基本运算的算法 (1)初始化循环双链表h (2)依次采用尾插法插入a,b,c,d,e元素 (3)输出循环双链表h; (4)输出循环双链表h长度&am…

Linux初学(十一)中间件

一、web服务 1.1 中间件简介 中间件其实就是一类软件,中间件的作用是让用户可以看到一个网页 总结:客户端可以向服务端发送请求,服务器端会通过中间件程序来接收请求,然后处理请求,最后将处理结果返回给客户端 1.2 中…

vscode初始化node项目

首先需要安装node环境,推荐直接使用nvm 安装node,方便切换node版本 1.npm init 初始化node项目 在命令行输入npm init指令 根据指令创建完成后会在当前目录下生成一个package.json文件,记住运行npm init执行的目录必须是一个空目录 2.创建…

qupath再度更新:使用WSInfer进行深度学习

Open and reusable deep learning for pathology with WSInfer and QuPath Open and reusable deep learning for pathology with WSInfer and QuPath | npj Precision Oncology (nature.com) 以前:数字病理图像分析的开源软件qupath学习 ①-CSDN博客 背景 深度学…

idea从零开发Android 安卓 (超详细)

首先把所有的要准备的说明一下 idea 2023.1 什么版本也都可以操作都是差不多的 gradle 8.7 什么版本也都可以操作都是差不多的 Android SDK 34KPI 下载地址: AndroidDevTools - Android开发工具 Android SDK下载 Android Studio下载 Gradle下载 SDK Tools下载 …

没有与参数列表匹配的构造函数“cv::VideoWriter::VideoWriter”实例

今天在使用Visual Studio开发与OpenCV相关的程序时,遇到了这样的情况: 第一个参数的下方被打上了红波浪线,我本能的觉得是第一个参数出的问题,于是改成了这样: 红线依然存在,没有消失,把鼠标放在红线下方&#xff0c…

OpenHarmony error: signature verification failed due to not trusted app source

问题:error: signature verification failed due to not trusted app source 今天在做OpenHarmony App开发,之前一直用的设备A在测试开效果,今天换成了设备B,通过DevEco Studio安装应用程序的时候,就出现错误&#xf…

【笔记】动⼿学深度学习(花书)|| Aston Zhang Mu Li Zachary C. LiptonAlexander J. Smola

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 前言 第一章 深度学习简介 第二章 P 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言本书…

场效应管(MOS管)知识点总结

目录 一、场效应管(FET)基础知识 1.名称 2.电路符号 3.分类 4.应用场景 5.厂商介绍 二、MOS管G、S、D以及判定 三、耗尽型场效应管工作原理 (耗尽型:depletion mode) 四、NMOS与PMOS的区别 (区别:difference) (多晶硅:polysilicon) …

K8S中部署yaml文件(如Java项目)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Java学习笔记(23)

多线程 并发 并行 多线程实现方式 1.继承Thread类 自己创建一个类extends thread类 Start方法开启线程,自动执行重写之后的run方法 2.实现runable接口 自己创建一个类implements runnable Myrun不能直接使用getname方法,因为这个方法是thread类的方法…

Kafka入门到实战-第四弹

Kafka入门到实战 Kafka集群搭建官网地址Kafka概述使用Kraft搭建Kafka集群更新计划 Kafka集群搭建 官网地址 声明: 由于操作系统, 版本更新等原因, 文章所列内容不一定100%复现, 还要以官方信息为准 https://kafka.apache.org/Kafka概述 Apache Kafka 是一个开源的分布式事件…

ubuntu2204配置zabbix6.4高可用

zabbix6.4-HA 配置keepalived配置haproxy数据库高可用配置zabbix-server配置proxy配置客户端agent 本实验VMware搭建zabbix6.4高可用集群,搭配haproxykeepalived。 master,node节点搭建haproxykeepalibed主备并配置vip地址 三台控制节点搭建数据库高可用…

rabbitMQ版本问题与下载

都到现在了,大家不会安装东西还是不看版本吧 云服务器买的是centos7,而erlang在24版本后不支持centos7了 所以需要找24版本以下的erlang,而不同erlang对应不同rabbitmq所以需要对应 下载erlang 说实话,自己安装,还是…

无论PC还是Mac,都能畅快地使用移动硬盘 Mac使用NTFS移动硬盘不能读写

如果你拥有一台Mac设备,总会遇到尴尬的那一刻——你在Mac上用得好好的移动硬盘怎么都不能被PC识别到。又或者你朋友在PC上用得好好的移动硬盘,连上你的Mac后,Mac里的文件死活就是拷贝不进移动硬盘里。这种坑,相信大多数使用Mac的小…

pycharm复习

1.基础语法 1.字面量 2.注释: 单行注释# 多行注释" " " " " " 3.变量: 变量名 变量值 print:输出多个结果,用逗号隔开 4.数据类型: string字符串int整数fl…

信息工程大学第五届超越杯程序设计竞赛(同步赛)题解

比赛传送门 博客园传送门 c 模板框架 #pragma GCC optimize(3,"Ofast","inline") #include<bits/stdc.h> #define rep(i,a,b) for (int ia;i<b;i) #define per(i,a,b) for (int ia;i>b;--i) #define se second #define fi first #define e…

六、【功能接口测试】用例设计方法及案例:单接口和业务场景

接口测试 1&#xff09;接口测试的测试点2&#xff09;接口用例设计方法3&#xff09;功能测试单接口测试用例4&#xff09;功能测试业务场景测试用例 1&#xff09;接口测试的测试点 功能测试 单接口功能 一个单独业务&#xff0c;就对一个独立的接口&#xff0c;如&#xff1…

ubuntu+clangd+vscode 实现项目代码快速跳转(如: Linux 内核源码)

1. 准备工作 虚拟机 ubuntu 环境&#xff0c;笔者用的是 ubuntu20.04。windows 安装好 vscode 软件。 2. 配置过程 2.1 vscode远程连接 ubuntu ubuntu 虚拟机开启 ssh 服务 sudo apt install openssh-server sudo service ssh startvscode 安装 remote-ssh 插件 vscode 远…