1、如何获取设备上安装的应用列表数据
A:不允许查询设备应用列表数据,相关权限无法申请。
2、权限申请被拒绝后,再次申请权限,是否出现申请权限弹窗
A:通过设置页关闭权限后,再次申请该权限不会再次弹窗,返回值为-1。对于申请授权的返回值请参见:PermissionRequestResult
3、用户更新app后是否还会弹出权限申请弹窗
A:应用在应用市场更新后,之前已经申请的用户授权的权限,不会再次弹框。
4、请求精准定位权限申请注意事项
A:精确定位不可以单独申请,要先申请模糊定位权限后再去申请精确定位权限,而且对于精确定位权限申请的时候,必须和模糊定位权限一起申请。
5、如何判断当前应用程序是Debug包还是Release包
A:在编译构建时,Hvigor会生成BuildProfile类,可以通过该类在运行时获取编译构建参数,BuildProfile.BUILD_MODE_NAME即为编译模式。
6、UIAbility在内存不足的情况下是否会回收,若回收是否支持页面栈恢复?
A:当前系统还不支持页面栈恢复。
7、关于通过ResourceManager获取RawFile路径下的文件的问题
A:获取的是文件流,如果想要获取fd可以使用getRawFd。
可以通过getRawFileList获取文件夹下的所有文件。
8、HarmonyOS提供了两种页面加载方式,两者有何区别,怎么选择?
-
page和page之间进行跳转速度更快。
-
ability对内存会有一定消耗。
-
ability实例对应一个任务实例,如果有多个ability的话,最近任务列表中也会看到多个任务。
A:基于上述三点,一般情况下推荐应用使用page去实现不同的页面和功能;涉及到不同模块需要做较大的功能区分的话,才推荐使用ability。
9、如何跨HSP包调用rawfile目录下的文件
A:建议通过导出资源的方式给另外一个模块使用,详见参考资料中的“导出HSP中的资源”。
10、HarmonyOS的服务为什么以进程的形式存在,而不是放在system server里面?
A:服务可以通过进程或线程承载。比起线程,进程方式虽然通信开销较大,但是承载内存独立、更安全、解耦性也好。
11、如何获取应用包的签名指纹信息,即“.p12文件”信息
A:建议通过IDE自动化签名后,在.p12文件右侧有个指纹按钮进行复制获取。
12、频繁调用createModuleContext读取跨包资源导致卡顿问题
A:createModuleContext涉及多次包信息查询、以及加载指定module的全部资源,本身就是时延较大的接口。如果需要多次使用,最好缓存context,避免反复创建。建议使用者在第一次初始化时,将context保存起来,直接初始化保存的context去获取对应的资源。
13、使用发布证书进行调试时出现安装错误: Install Failed: error: failed to install bundle.
A:应用市场发布的发布证书,无法通过非应用市场渠道安装,如果需要测试发布证书应用,请使用AGC->开放式测试。
更多详情查看:文档中心