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名称等信息。
更多详情查看:文档中心