求助:Android App 如何实现权限使用说明窗口?HarmonyOS 鸿蒙Next

求助:Android App 如何实现权限使用说明窗口?HarmonyOS 鸿蒙Next 这个感觉在Android上是没法实现的。

这个要求需要在显示 “系统的权限申请窗口” 时同步显示一个 “权限使用说明窗口”,而且要显示在它上面,这需要android.permission.SYSTEM_ALERT_WINDOW权限,这也是一个敏感权限,需要申请。

对于Android应用,需要给一个实现的Demo。

3 回复

尊敬的开发者,

如应用上架审核遇到问题,请提供一下APPID,以便反馈审核核实,或者您可以直接在互动中心联系审核人员;

互动中心咨询入口: https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/interactive

互动中心提单指导: https://developer.huawei.com/consumer/cn/doc/app/agc-help-interaction-center-0000001146518763#section345518126011

感谢您对我们的支持,祝您生活愉快!

更多关于求助:Android App 如何实现权限使用说明窗口?HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


目的是为了对应用申请权限,让用户明确告知到什么功能使用。申请权限时,添加权限申请的时机和描述就可以了。

在鸿蒙Next中,实现权限使用说明窗口可以通过AbilityPermission模块来完成。首先,在config.json文件中声明所需的权限。例如,如果需要访问相机权限,可以添加如下声明:

"reqPermissions": [
    {
        "name": "ohos.permission.CAMERA",
        "reason": "用于拍照功能"
    }
]

接着,在应用的Ability中,使用requestPermissionsFromUser方法请求权限。可以在onStartonActive生命周期方法中调用该方法。例如:

import abilityAccessCtrl from '@ohos.abilityAccessCtrl';

let permissions: Array<string> = ['ohos.permission.CAMERA'];
let atManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(this.context, permissions, (err, data) => {
    if (err) {
        console.error(`Request permissions failed, code is ${err.code}, message is ${err.message}`);
    } else {
        console.info('Request permissions success');
    }
});

在用户首次启动应用时,系统会自动弹出权限请求对话框。如果用户拒绝权限,可以在适当的时候再次请求权限。通过这种方式,可以在鸿蒙Next中实现权限使用说明窗口。

回到顶部