5.申请授权(可组合申请)接上文
let p: Permissions[] = ['ohos.permission.ACTIVITY_MOTION', 'ohos.permission.CAMERA','ohos.permission.LOCATION', 'ohos.permission.APPROXIMATELY_LOCATION'];
PermissionUtil.requestPermissions(p).then((grant) = > {
if (grant) {
ToastUtil.showToast(`申请授权,已通过...`);
}
})
如果第一次申请用户没有同意,可二次申请
PermissionUtil.requestPermissionOnSettingEasy(p).then((result) = > {
ToastUtil.showToast(`申请授权,结果:${result}`);
});
6.申请授权,拒绝后可二次申请
let p: Permissions[] = ['ohos.permission.ACTIVITY_MOTION', 'ohos.permission.CAMERA', 'ohos.permission.LOCATION', 'ohos.permission.APPROXIMATELY_LOCATION'];
PermissionUtil.requestPermissionsEasy(p).then((result) = > {
ToastUtil.showToast(`申请授权,结果:${result}`);
})
7.完整UI代码
import { abilityAccessCtrl, Permissions } from '@kit.AbilityKit';
import { LogUtil, PermissionUtil, ToastUtil, WantUtil } from '@pura/harmony-utils';
import { BusinessError } from '@kit.BasicServicesKit';
@Styles
function btnStyle() {
.width('90%')
.margin({ top: 10, bottom: 5 })
}
@Entry
@Component
struct Index {
private scroller: Scroller = new Scroller();
build() {
Scroll(this.scroller) {
Column() {
Button("checkPermissions()")
.btnStyle()
.onClick(() = > {
let p: Permissions = 'ohos.permission.CAMERA'; //相机
PermissionUtil.checkPermissions(p).then((result) = > {
ToastUtil.showToast(`检测是否授权,结果:${result}`);
})
})
Button("checkRequestPermissions()")
.btnStyle()
.onClick(() = > {
let p: Permissions = 'ohos.permission.CAMERA'; //相机
PermissionUtil.checkRequestPermissions(p).then((grant) = > {
ToastUtil.showToast(`检测并申请授权,结果:${grant}`);
if (!grant) {
WantUtil.toAppSetting(); //拒绝权限,跳转APP设置页面
}
})
})
Button("requestPermissions()nrequestPermissionOnSettingEasy()")
.labelStyle({ maxLines: 2 })
.type(ButtonType.Normal)
.borderRadius(10)
.padding({ top: 10, bottom: 10 })
.btnStyle()
.onClick(() = > {
let p: Permissions[] = ['ohos.permission.ACTIVITY_MOTION', 'ohos.permission.CAMERA','ohos.permission.LOCATION', 'ohos.permission.APPROXIMATELY_LOCATION'];
PermissionUtil.requestPermissions(p).then((grant) = > {
if (grant) {
ToastUtil.showToast(`申请授权,已通过...`);
} else { //拒绝权限,二次向用户申请授权
PermissionUtil.requestPermissionOnSettingEasy(p).then((result) = > {
ToastUtil.showToast(`申请授权,结果:${result}`);
});
}
})
})
Button("requestPermissionsEasy()")
.btnStyle()
.onClick(() = > {
let p: Permissions[] = ['ohos.permission.ACTIVITY_MOTION', 'ohos.permission.CAMERA', 'ohos.permission.LOCATION', 'ohos.permission.APPROXIMATELY_LOCATION'];
PermissionUtil.requestPermissionsEasy(p).then((result) = > {
ToastUtil.showToast(`申请授权,结果:${result}`);
})
})
Button("requestGlobalSwitch()")
.btnStyle()
.onClick(() = > {
PermissionUtil.requestGlobalSwitch(abilityAccessCtrl.SwitchType.LOCATION).then((result) = > {
ToastUtil.showToast(`申请结果:${result}`);
}).catch((err: BusinessError) = > {
ToastUtil.showToast(err.message);
LogUtil.error(err);
});
})
Button("最佳使用案例")
.btnStyle()
.onClick(() = > {
let ps: Permissions[] = ['ohos.permission.READ_IMAGEVIDEO', 'ohos.permission.WRITE_IMAGEVIDEO'];
PermissionUtil.requestPermissions(ps).then((result) = > {
if (result) {
ToastUtil.showToast(`最佳使用案例授权,已通过...`);
} else {
PermissionUtil.requestPermissionOnSetting(ps).then((grant) = > {
ToastUtil.showToast(`最佳使用案例,结果:${grant}`);
})
}
})
})
Button("测试")
.btnStyle()
.onClick(() = > {
let ps: Permissions[] = ['ohos.permission.CAMERA', 'ohos.permission.READ_IMAGEVIDEO', 'ohos.permission.WRITE_IMAGEVIDEO'];
PermissionUtil.requestPermissionsEasy(ps).then((grant)= >{
ToastUtil.showToast(`申请授权,结果:${grant}`);
})
})
Blank().layoutWeight(1)
}
.margin({ top: 5, bottom: 5 })
}
.layoutWeight(1)
}
}
注:部分权限需要在真机上使用,部分权限需要在模拟器设置进行模拟使用
本文档所使用类的源地址链接entry/src/main/ets/pages/utils/PermissionUtilPage.ets · 桃花镇童长老/harmony-utils - Gitee.com
本文档所介绍的第三方库源地址链接OpenHarmony三方库中心仓
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
数码相机
+关注
关注
2文章
445浏览量
39933 -
SDK
+关注
关注
3文章
1094浏览量
51220
发布评论请先 登录
相关推荐
热点推荐
harmony-utils之LRUCacheUtil,LRUCache缓存工具类
harmony-utils之LRUCacheUtil,LRUCache缓存工具类 harmony-utils 简介与说明 harmony-utils
harmony-utils之NumberUtil,Number工具类
harmony-utils之NumberUtil,Number工具类 harmony-utils 简介与说明 harmony-utils 一
harmony-utils之PreferencesUtil,首选项工具类
harmony-utils之PreferencesUtil,首选项工具类 harmony-utils 简介与说明 [harmony-utils
harmony-utils之PreviewUtil,文件预览工具类
harmony-utils之PreviewUtil,文件预览工具类 harmony-utils 简介与说明 [harmony-utils]
harmony-utils之RegexUtil,正则工具类
harmony-utils之RegexUtil,正则工具类 harmony-utils 简介与说明 [harmony-utils] 一款功能
harmony-utils之SnapshotUtil,截图相关工具类
harmony-utils之SnapshotUtil,截图相关工具类 harmony-utils 简介与说明 [harmony-utils]
harmony-utils之StrUtil,字符串工具类
harmony-utils之StrUtil,字符串工具类 harmony-utils 简介与说明 [harmony-utils] 一款功能丰
harmony-utils之TypeUtil,类型检查工具类
harmony-utils之TypeUtil,类型检查工具类 harmony-utils 简介与说明 [harmony-utils] 一款功
harmony-utils之WindowUtil,窗口相关工具类
harmony-utils之WindowUtil,窗口相关工具类 harmony-utils 简介与说明 [harmony-utils] 一
harmony-utils之AuthUtil,生物认证相关工具类
# harmony-utils之AuthUtil,生物认证相关工具类 ## harmony-utils 简介与说明 ------[harmony-u
harmony-utils之ArrayUtil,集合工具类
# harmony-utils之ArrayUtil,集合工具类 ## harmony-utils 简介与说明 ------[harmony-util
harmony-utils之TempUtil,温度转换工具类
harmony-utils之TempUtil,温度转换工具类 harmony-utils 简介与说明 [harmony-utils] 一款功
如何使用第三方库中的@pura/harmony-utils(V1.3.3)申请授权工具类一
1. 安装依赖 ohpm install @pura/harmony-utils 在oh-package.json5中看到以下代码即表示安装成功 2. 配置权限 在 module.json5 文件

如何使用第三方库中的@pura/harmony-utils(V1.3.3)申请授权工具类二
评论