1.问题描述:

文档哪里能找到所有的权限查看该权限是用户级的还是系统级的。

解决方案:

您好,可以看一下下方链接是否可以解决问题:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/permissions-for-all-V5

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/permissions-in-acl-V5

2.问题描述:

查阅文档发现isApplicationEnabled方法已被弃用,目前如何判断手机中某个应用是否已安装?

解决方案:

应用是否已安装?

目前判断应用是否在手机安装,在API 12之前并不支持。

在API 12之后,bundleManager支持canOpenLink接口,通过配置module.json5的querySchemes属性,在代码中可以通过一下代码确定对应应用是否安装:

参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-bundlemanager-V5#ZH-CN_TOPIC_0000001893370881__bundlemanagercanopenlink12

3.问题描述:

如何在代码中获取oh-package.json5中的信息,比如版本(version)或者描述(description)?

解决方案:

可以通过hvigor脚本实现。

hvigor自定义任务指导:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V2/custom-hvigor-0000001650987753-V2

hvigor命令行指导:https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V2/ide-command-line-hvigor-0000001553317645-V2

Demo: 这里展示在har module的hvigorfile.ts文件下,编写脚本代码,实现: 1.获取并解析oh-package.json5中的内容 2.获取har产物的路径 3.修改har产物的名称


import { harTasks } from '@ohos/hvigor-ohos-plugin'; import fs from 'fs' interface OhPackage { name: string; version: number; description: string; author: string; } export function renameHarTask(str?: string) { return { pluginId: 'RenameHarTaskID', apply(pluginContext) { pluginContext.registerTask({ // 编写自定义任务 name: 'renameHarTask', run: (taskContext) => { //读取oh-package.json5,解析出version const packageFile = taskContext.modulePath+'\oh-package.json5'; console.log('file: ', packageFile); let fileContent = fs.readFileSync(packageFile, 'utf8'); console.log(fileContent); const content: OhPackage = JSON.parse(fileContent); const version = content.version; const author = content.author; console.log('renameHarTask: ', taskContext.moduleName, taskContext.modulePath); const sourceFile = taskContext.modulePath + '\\build\\default\\outputs\\default\\' + taskContext.moduleName + '.har'; const targetFile = taskContext.modulePath + '\\build\\default\\outputs\\default\\' + taskContext.moduleName + '-' + version + '-' + author +'.har'; console.log('renameHarTask: sourceFile: ', sourceFile); console.log('renameHarTask: targetFile: ', targetFile); // 修改产物名 fs.rename(sourceFile, targetFile, (err)=> { console.log('err: ' + err); }); }, // 确认自定义任务插入位置 dependencies: ['default@PackageHar'], postDependencies: ['assembleHar'] }) } } } export default { system: harTasks, plugins:[renameHarTask()] }

实现效果 在Terminal窗口执行: ./hvigorw renameHarTask 查看build/default/outputs/default/下的har,可以看到,生成的har已经修改为了我们代码中指定的taskContext.moduleName + '-' + version + '-' + author +'.har'

4.问题描述:

编译报错:The default system capabilities of devices phone, tablet, 2in1 do not include SystemCapability.Communication.NFC.Tag. Configure the capabilities in syscap.json.

解决方案:

报错提示是:不包括SystemCapability.Communication.NFC.Tag,需要syscap.json中配置。

可参考链接:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/syscap-V5#ZH-CN_TOPIC_0000001904100062__pcid导入

【FAQ】Harmo【FAQ】HarmonyOS SDK 闭源开放能力 — 公共模块的更多相关文章

  1. Linux开源系统对比Windows闭源系统的优势解析

    当我们听到linux的时候是不是觉得高大上的感觉呢?在我刚上大学的时候,听着学长们给我讲他们的大学的学习经历,先学习C语言.单片机.然后做一些项目,现在正学习linux操作系统,当我听到linux操作 ...

  2. Eureka 2.0 闭源--选择Consul???

    在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eureka ...

  3. Eureka 2.0 闭源--选择Consul???[转]

    原文链接: https://www.cnblogs.com/williamjie/p/9369800.html 在上个月我们知道 Eureka 2.0 闭源了,但其实对国内的用户影响甚小,一方面国内大 ...

  4. 凉凉了,Eureka 宣布闭源,Spring Cloud 何去何从?

    今年 Dubbo 活了,并且被 Apache 收了.同时很不幸,Spring Cloud 下的 Netflix Eureka 组件项目居然宣布闭源了.. 已经从 Dubbo 迁移至 Spring Cl ...

  5. 第一部分:开发前的准备-第八章 Android SDK与源码下载

    第8章 Android SDK与源码下载 如果你是新下载的SDK,请阅读一下步骤了解如何设置SDK.如果你已经下载使用过SDK,那么你应该使用AVD Manager,来更新即可. 下面是构建Andro ...

  6. Ubuntu 16.04安装GTX960闭源驱动

    GTX960的闭源要Nvidia 346版才行,闭源驱动能很大提升显卡的性能,例如双显示输出等,缺点是不开源. 有以下方式来安装: 1.命令行: sudo add-apt-repository -y ...

  7. 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响

    笔记 4.SpringCloud微服务核心组件Eureka介绍和闭源后影响     简介:         SpringCloud体系介绍             官方地址:http://projec ...

  8. deepin20 安装英伟达闭源驱动

    第一步.安装深度的"显卡驱动器" 在deepin v20 中默认没有显卡驱动管理器,需要命令行安装,命令如下(刚开始一直出错,当我第一次打开应用商店,就可以安装了,好神奇): su ...

  9. Docker与k8s的恩怨情仇(四)-云原生时代的闭源落幕

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 在本系列前几篇文章中,我们介绍了从Cloud Foundry到Docker等PaaS平台的发展迭代过程.今天 ...

  10. 读Zepto源码之Ajax模块

    Ajax 模块也是经常会用到的模块,Ajax 模块中包含了 jsonp 的现实,和 XMLHttpRequest 的封装. 读 Zepto 源码系列文章已经放到了github上,欢迎star: rea ...

随机推荐

  1. Ubuntu 安装 Docker Desktop

    介绍 Docker 有两种版本:Docker Desktop 和 Docker Engine (也称作 Docker CE).Docker Desktop 是带图形界面的版本,非常适合需要在桌面环境中 ...

  2. windows server 2019 IIS网站属性上没有asp.net标签 ,aspnet_regiis -i 不能安装

    在新的服务器版本已经不能通过 aspnet_regiis -i安装了,可以通过以下语句完成: dism /online /enable-feature /featurename:IIS-ASPNET4 ...

  3. AI 视觉的应用|ZegoAvatar ⾯部表情随动技术解析

    ​ 一.AI"卷"进实时互动 2021年,元宇宙概念席卷全球,国内各大厂加速赛道布局,通过元宇宙为不同的应用场景的相关内容生态进行赋能.针对"身份"." ...

  4. 原生JavaScript实现一个简单的Promise构造函数示例

    下面demo示例,只支持实例的then和catch,代码如下: function PromiseDiffer(fn){ var self = this; this.status = 'pendding ...

  5. JavaScript Library – YouTube Embedded、YouTube Player API、YouTube Data API

    YouTube Embed Video 参考: Embed videos & playlists 它和 Google Maps Embed 类似,是通过 iframe 完成的. <ifr ...

  6. k8s 中的 Ingress 简介

    〇.前言 前边已经介绍了 k8s 中的相关概念和 Service,本文继续看下什么是 Ingress. Ingress 的重要性不言而喻,它不仅统一了集群对外访问的入口,还提供了高级路由.七层负载均衡 ...

  7. 2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号‘?‘。对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字

    2024-09-21:用go语言,给定一个字符串 s,字符串中的每个字符要么是小写字母,要么是问号'?'.对于一个仅包含小写字母的字符串t,我们定义cost(i)为在t的前i个字符中与t[i]相同的字 ...

  8. 暑假集训CSP提高模拟4

    A.White and Black 暴力的 \(O(nq)\) 做法比较显然,因为对于根节点来说,只有它自己可以改变自己的颜色,因此如果它是黑色则一定需要更改自己,同时把更改传下去(应该没有那种每次真 ...

  9. Dockerfile相关(推送镜像?私有仓库?)(九)

    上面我们讲到了 Dockerfile 的基本写法以及构建镜像的时候一些注意事项,那么镜像构建完成后,如何把我们的镜像给到别人使用呢?第一种方法就是利用 Docker 官方提供的公共的 Docker H ...

  10. Spring 之 RestTemplate VS WebClient 发送 HTTP请求

    WebClient 依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifact ...