【HarmonyOS NEXT】FAQ之系统开发(基础功能)

1、如何获取系统时间戳

A:可以通过systemDateTime.getTime()方法获取当前的系统时间和时区。

2、使用zip模块解压文件,解压接口返回解压成功,进入设备查看解压路径未找到解压后的文件

A:使用的文件管理file.fs.copyfile接口拷贝项目/resource/rawfile/文件到设备后,与源文件不一致导致的解压失败。可以通过getRawFileContent接口拿到uint8array,然后转arraybuffer,用file.fs.write写进设备中。具体可参考如下代码:

import { BusinessError } from '@kit.BasicServicesKit'; 
 
try { 
  this.context.resourceManager.getRawFileContent("test.txt").then((value: Uint8Array) => { 
    let rawFile = value; 
    let buffer: ArrayBuffer = rawFile.buffer.slice(0); 
  }).catch((error: BusinessError) => { 
    console.error("getRawFileContent promise error is " + error); 
  }); 
} catch (error) { 
}

3、HarmonyOS应用的安全性如何?是否可能被逆向分析?

A:HarmonyOS反编译安全性当前提供基础的应用加固安全能力,包括混淆、加密和代码签名能力,保护代码反编译和反调试。高级混淆暂不提供,由三方支持。

4、HAP包中的“--Begin Certificate--”是什么格式的数据

A:证书签名时,支持DER和PEM的格式,“--Begin Certificate--”是DER格式的数据,可以直接使用。

5、C/C++是否提供有OpenSSL库

A:C/C++没有OpenSSL的接口,ArkTS提供的有JS OpenSSL的接口。

6、是否支持获取用户手机上所有的App列表

A:不支持获取设备所有App信息。

7、eventId一样时,Emitter多次调用on是否能注册多个回调?

A:针对同一个eventid多次注册订阅时,若关联的回调对象为同一个,则只会生效第一次注册的回调对象,若关联的回调对象不同,则多个回调对象均生效,由on的顺序决定回调顺序,同时off注销时,eventid与回调对象需配对,否则回调注销失败。

8、HarmonyOS软件需要加壳吗

A:官方不提供加壳功能;HarmonyOS有应用加密功能,本身会对所有的abc、so文件进行加密,一定程度上可以替代加壳,因此不需要再加壳了。

9、系统设置里应用的权限设置只展示应用申请过的权限

A:该特性是系统规格,只有在调用requestPermissionsFromUser这个接口,并且用户选择是否授予权限之后,才会在应用详情页显示该权限开关。该设计特性考量:这个可以让用户看到一个更干净的权限管理页面,一个用户从来没有打开过的应用,进入应用详情页面却有一大堆权限,用户也会不大理解。

10、如何获取系统时间,并且在切换时区时,时间戳一直保持北京时间

A:使用systemDateTime.getTime()可以获取自Unix纪元以来经过的时间。getTime获取的是Unix时间戳,Unix时间戳和时区无关,在任何时区返回的值都是一致的。

11、上传文件的uploadConfig中,internal开头的路径是否可以换成其他路径

A:internal对应在cache目录下,当前只支持上传应用自己沙箱路径的文件,暂不支持uri。

12、request.downloadFile 使用报错, err number = 8属于什么问题

A:目前err num=8表示未知错误,更多错误码详情请参见错误码

更多详情查看:

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值