【HarmonyOS NEXT】FAQ之应用框架(程序框架6)

1、如何实现向用户申请授权的功能

A:当应用需要访问用户的隐私信息或使用系统能力时,例如获取位置信息、访问日历、使用相机拍摄照片或录制视频等,应该向用户请求授权,这部分权限是user_grant权限。功能描述及代码实现可参考向用户申请授权开发步骤

2、user_grant权限预授权,可以使用吗

A:当前权限预授权未对外开放。

3、动态申请权限能否添加描述

A:目前只有静态配置权限的时候可以输入reason字段,动态申请权限不支持reason字段,不支持自定义描述。

4、用户在权限弹框中禁止应用获取权限,如何再拉起用户授权弹窗

A:权限弹框目前规格是始终允许或者拒绝,也就是弹一次窗口。如果后续用户禁止后,需要弹出框引导用户去设置权限界面开启相应权限。详细可以参考向用户申请授权开发步骤中的第四步:处理授权结果。

5、应用流转对账号有什么要求

A:应用流转仅支持同账号设备。推荐注册华为账号,使用华为账号进行登录和使用。

6、能否获取设备应用列表数据

A:当前暂不支持三方应用获取设备应用列表相关数据。

7、如果有多个UIAbility,如何判断应用进入后台

A:多UIAbility情况下,必须所有UIAbility都在后台时,应用才处于后台。

可以使用ApplicationContext.on()接口,该方法第一个参数可以设置监听的事件类型,第二个参数为一个回调函数,可以对应用前后台切换时进行监听。

8、发布签名发生变更后,用户是否需要先卸载原来的应用才能安装签名变更的应用

A:需要,签名变化了就需要先卸载再安装。

9、在AGC平台生成新的profile签名文件(.p7b),更新到HarmonyOS工程重新打包安装时提示:”code:9568322 error: signature verification failed due to not trusted app source”

A:.p7b的distribution-certificate字段内容在.cer文件中找不到,属于.p7b文件有误,在AGC平台正确操作后重新生成一份.p7b文件即可解决。

10、sign包和unsign包产物之间是否有差异

A:包产物之间没有差异,签名信息是写在zip的格式里的,所以解压看到的是没区别的。可以用文本编辑器直接打开hap进行比较,打开后可以搜索一下 distribution-certificate,签名的包会把证书信息写进去。有没有使用签名文件,主要在安装的时候有差异:

  • 没有签名的包就需要在安装的时候配置签名信息。

  • 有在线签名的,会绑定设备id,别的设备安装不了。

  • 有自动签名的可以在别的设备安装

11、开发非UI功能,使用ts开发而非ets开发对应用有哪些影响(内存、CPU、hap大小等方面)

A:一些基础的库可以用ts开发,ts文件无法引用ets文件,使用ts开发就无法使用系统能力了。

ArkTS通过规范强化静态检查和分析,使得在程序开发期能检测更多错误,提升程序稳定性,并实现更好的运行性能,使用ets在性能上会有优势。

12、如何判断App的启动来源

A:通过startAbility()启动应用时,want参数中的parameters属性可以携带拉起方的信息。

13、如何获取当前页面对应的UIAbility名称

A:可以通过bundleManager的getBundleInfoForSelf()接口获取当前应用的AbilityInfo信息,其中参数bundleFlags需要包含GET_BUNDLE_INFO_WITH_HAP_MODULE和GET_BUNDLE_INFO_WITH_ABILITY。AbilityInfo中包含当前应用的Ability名称、Bundle名称等信息。

更多详情查看:文档中心

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值