OpenHarmony开发者论坛
标题:
申请权限成功后,仍然提示 BusinessError 202: Permission denied. Non-system APP calling system API
[打印本页]
作者:
wu_wu_wu
时间:
2024-3-3 21:30
标题:
申请权限成功后,仍然提示 BusinessError 202: Permission denied. Non-system APP calling system API
[md]下面是报错信息和权限申请的信息
![image.png](
https://forums-obs.openharmony.c ... nnun7cjgz77catn.png
"image.png")
```
struct Index {const permissions: Array<Permissions> = ['ohos.permission.GET_INSTALLED_BUNDLE_LIST'];
function reqPermissionsFromUser(permissions: Array<Permissions>, context: common.UIAbilityContext): void {
let appFlags :number = bundleManager.ApplicationFlag.GET_APPLICATION_INFO_DEFAULT;
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
// requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
atManager.requestPermissionsFromUser(context, permissions).then((data) => {
let grantStatus: Array<number> = data.authResults;
let length: number = grantStatus.length;
for (let i = 0; i < length; i++) {
if (grantStatus
=== 0) {
// 用户授权,可以继续访问目标操作
console.info("data:" + JSON.stringify(data));
console.info("data permissions:" + data.permissions);
console.info("data authResults:" + data.authResults);
bundleManager.getAllApplicationInfo(appFlags, (err, data) => {
if (err) {
hilog.error(0x0000, 'testTag', 'getAllApplicationInfo failed: %{public}s', err.message);
} else {
hilog.info(0x0000, 'testTag', 'getAllApplicationInfo successfully: %{public}s', JSON.stringify(data));
}
});
} else {
// 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限
return;
}
}
// 授权成功
}).catch((err: BusinessError) => {
console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
})
}
@Entry
@Component
struct Index {
aboutToAppear() {
const context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
reqPermissionsFromUser(permissions, context);
}
...
}
```
[/md]
作者:
深开鸿_王石
时间:
2024-3-5 08:38
这个需要的是系统应用权限,要改自己的应用为系统应用
作者:
wu_wu_wu
时间:
2024-3-6 18:38
回复
深开鸿_王石
: 您好,感谢您的回答。但我仍然没有明白您说的改为习题应用的意思,我现在按照开发文档中的《访问控制授权申请指导》部分修改了moudle.json5文件,ACL方式声明。请问您可以更加详细的说明吗?谢谢
作者:
深开鸿_王石
时间:
2024-3-7 18:10
回复
wu_wu_wu
: 仔细看看这个文档,给system权限要改sdk里的UnsgnedReleasedProfileTemplate.json
https://forums.openharmony.cn/fo ... thread&tid=1454
作者:
koubo
时间:
2024-5-21 13:35
回复
深开鸿_王石
: 已经按照参考文档方式将第三方应用做成系统应用了,通过bm dump 可以查到应用实际为system_core,但是该应用的permission始终为空,不知道哪里出了问题
作者:
深开鸿_王石
时间:
2024-8-14 16:44
回复
koubo
: ohos.permission.GET_BUNDLE_INFO
ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
这两个权限都配了吗
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5