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

【FAQ】HarmonyOS SDK 闭源开放能力 — 公共模块

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,解析出versionconst 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%E5%AF%BC%E5%85%A5

http://www.lryc.cn/news/493660.html

相关文章:

  • 百度 文心一言 vs 阿里 通义千问 哪个好?
  • 内网不出网上线cs
  • ubuntu22开机自动登陆和开机自动运行google浏览器自动打开网页
  • 企业建站高性能的内容管理系统
  • 【爬虫框架:feapder,管理系统 feaplat】
  • faiss库中ivf-sq(ScalarQuantizer,标量量化)代码解读-5
  • 代码随想录算法训练营第六十天|Day60 图论
  • 在嵌入式Linux下如何用QT开发UI
  • 【JavaScript】Promise详解
  • 1062 Talent and Virtue
  • C++《二叉搜索树》
  • 机器学习-神经网络(BP神经网络前向和反向传播推导)
  • 基于智能物联网关的车辆超重AI检测应用
  • 记录pbootcms提示:登录失败:表单提交校验失败,请刷新后重试的解决办法
  • 【JavaScript】同步异步详解
  • vue 使用el-button 如何实现多个button 单选
  • HarmonyOS-初级(二)
  • Unity开启外部EXE程序
  • CTF之密码学(埃特巴什码 )
  • 深入解析 PyTorch 的 torch.load() 函数:用法、参数与实际应用示例
  • ros2键盘实现车辆: 简单的油门_刹车_挡位_前后左右移动控制
  • ubuntu安装chrome无法打开问题
  • CTF-RE 从0到N:Chacha20逆向实战 2024 强网杯青少年专项赛 EnterGame WP (END)
  • vue3 ajax获取json数组排序举例
  • web安全之信息收集
  • 报错:java: 无法访问org.springframework.boot.SpringApplication
  • 线上+线下≠新零售,6大互通诠释新零售的核心要点-亿发
  • GitHub Copilot革命性更新:整合顶尖AI模型,如何重塑开发体验?
  • AWS账户是否支持区域划分?
  • Easy Excel 通过【自定义批注拦截器】实现导出的【批注】功能