Android视角看鸿蒙第八课(module.json5中的各字段含义之abilities)下

Android视角看鸿蒙第八课(module.json5中的各字段含义之abilities)下

导读

上篇文章开始学习abilities下的各字段含义,因为篇幅原因只学习了name、srcEntry、description、icon和label字段的含义和用法,
这篇文章继续学习和了解其他字段。

startWindowIcon&startWindowBackground

官方文档

在这里插入图片描述

字段描述

在这里插入图片描述
Indicates the icon of the startup page. The value is the index to the resource file.

思考

标识当前UIAbility组件启动页面图标资源文件的索引。
这是官方文档的描述,不太好理解。没有理解具体用在哪里。
取值示例:$media:icon。
官方的取值示例,是个icon,也没有特别说明允许那些类型,不知道gif或者视频是否支持。

尝试

用在哪里

目前怀疑是桌面启动动画中使用的,验证一下是不是。
在这里插入图片描述
现在我们配置的值是默认的,图片长下面的样子
在这里插入图片描述
icon是注释状态,使用app.json5中的icon,长下面的样子
在这里插入图片描述
为了更好的看出效果,先把EntryAbility中的loadpage给注释掉
在这里插入图片描述
运行下,开个录制,稍后可以逐帧分析。

SVID_20240320_095353_1

结果证明没有任何关系。

遇到点困难,换个思路,先看看startWindowBackground的变化,借鉴一下。
把startWindowBackground的资源索引的值改成绿色
在这里插入图片描述
运行。
依然没有任何改变。
绝了。
看了看其他同学对这个字段的描述
在这里插入图片描述
上个链接华为论坛对于startWindowIcon的描述
资料比较难找,也算是个参考。

可能我的测试项目太小了,所以看不出效果。
写个死循环,看看
在这里插入图片描述
并不行
在这里插入图片描述
都卡崩了,也没出来。

结论

疑似和splashActivity的theme一致,但是看不到效果,可能华为优化的太好了吧。

exported

官方文档

在这里插入图片描述

字段描述

在这里插入图片描述
Specifies whether the ability can be called by other applications.The “true” indicates the ability can be called by other applications.The “false” indicates the ability cannot be called by other applications.This tag is optional. The default value is false.

思考

Android的同学应该还是熟悉的,就是说明这个ability可不可以被外部调用,一般来说是不需要的,有一些工具app可能会需要,比如支付宝,微信分享,支付等。

尝试

entryAbility必须设置为true吗

换句话说app启动器算其他应用吗?
在这里插入图片描述
注释掉,按照文档缺省时为false。
在这里插入图片描述
安装成功了,但是无法自动启动。
点击桌面则可以启动。
这个不是很好理解,为了确认点击桌面启动的是修改过exported的包,修改一下page的文字,再运行下
在这里插入图片描述
在这里插入图片描述

结论

当entryAbility的exported=false时(或缺省时,缺省即为false),hdc shell aa start -a EntryAbility -b com.example.myapplication启动失败,但点击桌面图标可以正常启动。
即桌面启动器不在其他应用的范畴内,所有这个值对桌面启动器无效,对hdc命令有效。

skills

官方文档

在这里插入图片描述

字段描述

在这里插入图片描述

思考

看样子和manifest中activity配置的intent-filter中的action,category之类的挺像的。
官方文档中明确说明对于Entry类型的HAP,应用可以配置多个具有入口能力的skills标签(即配置了ohos.want.action.home和entity.system.home)
即配置了ohos.want.action.home和entity.system.home的ability就是程序的入口。

尝试

试试多入口

把second也配置为入口
在这里插入图片描述
运行
在这里插入图片描述
桌面上出现了两个相同的图标,可以分别打开两个不同的ability。
(图标相同是因为两个ability都没有配置label和icon,都使用了app.json5中配置的label和icon)

把library(feature module)中的Ability配置为入口

文档描述对于Feature类型的HAP,只有应用可以配置具有入口能力的skills标签,服务不允许配置。
这里的服务先忽略,应该是指元服务,就是免安装的那个东东。

把library中的LibraryAbility也配置为入口
在这里插入图片描述
运行。
没有出现这个桌面图标
_-

所以我们理解错了
对于Feature类型的HAP,只有应用可以配置具有入口能力的skills标签,服务不允许配置。
这里的服务指的时Feature类型Mudule。

结论

配置了ohos.want.action.home和entity.system.home的ability就是程序的入口,可以多入口。但是只有entry类型的module中配置生效,feature类型的module中配置无效。

skils扩展

官方文档中want的介绍,及常见的entities和actions

结语

到现在为止已经有8篇文章了,学习桌面图标的定义,程序入口的定义等等,也对鸿蒙工程的配置文件有了一定的了解。下篇文章开始学习UI相关了。
感谢阅读!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GPT4.0

GPT4.0 支持官网所有功能以及所有第三方GPTS,完全同步官网。无需魔法,填写授权码直达官网。全天超18小时维护,无需担心不稳定。没有永久卡,3.5免费提供,4.0可以按需下单即可,不存在跑路。 需要的联系

格瑞纳电子邀您参观2024杭州快递物流展

2024长三角快递物流供应链与技术装备展览会 2024.7.8-10 杭州国际博览中心 参展企业介绍 北京格瑞纳电子产品有限公司是一家立足于专业科学技术领域集产品代理、培训咨询和个性化增值服务的高科技公司,于2009年成立于北京,立足于复杂系统仿真领域&…

皓学IT:WEB06_ EL表达式JSTL标签库

一、EL表达式 1.1.特点 是一个由java开发的工具包 用于从特定域对象中读取并写入到响应体开发任务,不能向域对象中写入。 EL工具包自动存在Tomcat的lib中(el-api.jar),开发是可以直接使用,无需其他额外的包。 标准…

seleniumUI自动化实例(登录CSDN页面)

今天分享一个CSDN登录模块的登录场景 1.配置文件 CSDNconf.py: from selenium import webdriver options webdriver.ChromeOptions() options.binary_location r"D:\Program Files\360\360se6\Application\360se.exe" # 360浏览器安装地址 driver w…

电脑审计系统知多少

域智盾的电脑审计系统是一款功能强大的软件,主要用于监控和审计电脑的使用情况。通过安装该系统,组织能够全面了解员工的电脑活动。 首先,该系统能够详细记录用户的上网记录,包括访问的网站、浏览的网页内容等。这使得管理员可以监…

剑指offer面试题42 翻转字符顺序 VS 左旋字符串

考察点 字符串遍历知识点 题目 分析 类似这种题目只能观察元素特点找出规律确定算法了,像第一道题目翻转单词顺序,我们可以很容易的得到翻转每个字符后的的字符串,再仔细观察一下紧接着以空格为间隔分别翻转俩边的字符串就可以解这道题目了…

鸿蒙Harmony应用开发—ArkTS-@Provide装饰器和@Consume装饰器:与后代组件双向同步

Provide和Consume,应用于与后代组件的双向数据同步,应用于状态数据在多个层级之间传递的场景。不同于上文提到的父子组件之间通过命名参数机制传递,Provide和Consume摆脱参数传递机制的束缚,实现跨层级传递。 其中Provide装饰的变…

YOLOv8 如何实现多主干特征融合方式 | GhostNet+ShuffleNet / SwinTransformer+ShuffleNet

文章目录 前言模块添加方法双特征提取例子`GhostNet+ShuffleNet` 双主干结构图代码`Swin+ShuffleNet` 双主干结构图代码参数量与计算量1. 什么是YOLO-Magic框架?2. 如何加入这个框架?3. 加入后如何使用框架?4. GitHub组织是什么?

LeetCode-热题100:39.组合总和

题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限制重复被…

使用 Python 读取 Word 文件

使用 Python 读取 Word 文件 0. 引言安装必要的库 1. 读取和提取 Word 文件中的文本2. 提取 Word 文件中的图片 0. 引言 要使用 Python 读取 Word 文件并识别其中的对象(如图片)和文本,你可以使用 python-docx 库来处理文本,和 d…

大数定律与中心极限定理

大数定律与中心极限定理 大数定律切比雪夫不等式依概率收敛切比雪夫大数定律辛钦大数定律伯努利大数定律 中心极限定理列维-林德伯格中心极限定理(Lindeberg-Levy central limit theorem)棣莫弗-拉普拉斯中心极限定理(De Moivre-Laplace cent…

【运放】LM358和LM324

🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…

python脚本for循环

使用python脚本单个输出Hello单词。 for循环实例: ​ [rootkvm-72 py]# cat for02.py #for i in hello: #for i in "hello": #for i in hello: for i in """hello""":print("i ", i)​ 单个字符输出结果&…

C语言运算符优先级

C语言运算符的优先级(从高到低)如下所示: 1. ():括号 2. []:数组索引 3. . 和 ->:结构体和联合体成员选择 4. 和 --:自增和自减 5. !:逻辑非 6. ~:位取反 7. -&…

力扣---打家劫舍---动态规划

思路 1: 我将res[i]定义为:一定要取第 i 个房子的前提下,能获取的最大金额。那么直接用cnt从头记录到尾,每个房子的res最大值即是答案。那么递推公式是什么?res[i]max(res[i-2],res[i-1],...,res[0])nums[i]。数组初始…

如何配置nginx反向代理服务器

配置Nginx作为反向代理服务,你需要编辑Nginx的配置文件(通常是nginx.conf或在其下的某个sites-available目录下的特定域名配置文件),并在其中添加反向代理相关配置块。以下是一个基本的反向代理配置示例: # 假设这是位…

mysql中的数据类型大全纯干货------------时间日期类型

简介(类型预览): 在mysql8.0版本中支持的类型主要有: YEAR类型表示年 DATE类型表示年,月,日 TIME类型表示时,分,秒 DATETIME类型表示年,月,日,时,分,秒 TIMESTAMP类型通常表示带时区的年,月,日,时,分,秒 数据类型单位占用字节格式下限上限YEAR年1YYY或…

C# StableDiffusion StableDiffusionSharp 脱离python臃肿的环境

目录 说明 效果 项目 代码 下载 C# StableDiffusion StableDiffusionSharp 脱离python臃肿的环境 说明 Stable Diffusion in pure C/C github地址:https://github.com/leejet/stable-diffusion.cpp C# Wrapper for StableDiffusion.cpp github地址&#x…

Java的三大特性之一——继承

前言 http://t.csdnimg.cn/uibg3 在上一篇中我们已经讲解过封装,这里就主要讲解继承与多态 继承 1.为什么需要继承 Java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是现实…

zabbix6.4监控mysql数据库

目录 一、前提二、配置mysql数据库模板三、配置监控的mysql主机 一、前提 已经搭建好zabbix-server 在需要监控的mysql服务器上安装zabbix-agent2 上述安装步骤参考我的上篇文章:通过docker容器安装zabbix6.4.12图文详解(监控服务器docker容器&#xf…