5.申請授權(quán)(可組合申請)接上文
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(`申請授權(quán),已通過...`);
}
})
如果第一次申請用戶沒有同意,可二次申請
PermissionUtil.requestPermissionOnSettingEasy(p).then((result) = > {
ToastUtil.showToast(`申請授權(quán),結(jié)果:${result}`);
});
6.申請授權(quán),拒絕后可二次申請
let p: Permissions[] = ['ohos.permission.ACTIVITY_MOTION', 'ohos.permission.CAMERA', 'ohos.permission.LOCATION', 'ohos.permission.APPROXIMATELY_LOCATION'];
PermissionUtil.requestPermissionsEasy(p).then((result) = > {
ToastUtil.showToast(`申請授權(quán),結(jié)果:${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'; //相機(jī)
PermissionUtil.checkPermissions(p).then((result) = > {
ToastUtil.showToast(`檢測是否授權(quán),結(jié)果:${result}`);
})
})
Button("checkRequestPermissions()")
.btnStyle()
.onClick(() = > {
let p: Permissions = 'ohos.permission.CAMERA'; //相機(jī)
PermissionUtil.checkRequestPermissions(p).then((grant) = > {
ToastUtil.showToast(`檢測并申請授權(quán),結(jié)果:${grant}`);
if (!grant) {
WantUtil.toAppSetting(); //拒絕權(quán)限,跳轉(zhuǎn)APP設(shè)置頁面
}
})
})
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(`申請授權(quán),已通過...`);
} else { //拒絕權(quán)限,二次向用戶申請授權(quán)
PermissionUtil.requestPermissionOnSettingEasy(p).then((result) = > {
ToastUtil.showToast(`申請授權(quán),結(jié)果:${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(`申請授權(quán),結(jié)果:${result}`);
})
})
Button("requestGlobalSwitch()")
.btnStyle()
.onClick(() = > {
PermissionUtil.requestGlobalSwitch(abilityAccessCtrl.SwitchType.LOCATION).then((result) = > {
ToastUtil.showToast(`申請結(jié)果:${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(`最佳使用案例授權(quán),已通過...`);
} else {
PermissionUtil.requestPermissionOnSetting(ps).then((grant) = > {
ToastUtil.showToast(`最佳使用案例,結(jié)果:${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(`申請授權(quán),結(jié)果:${grant}`);
})
})
Blank().layoutWeight(1)
}
.margin({ top: 5, bottom: 5 })
}
.layoutWeight(1)
}
}
注:部分權(quán)限需要在真機(jī)上使用,部分權(quán)限需要在模擬器設(shè)置進(jìn)行模擬使用
本文檔所使用類的源地址鏈接??entry/src/main/ets/pages/utils/PermissionUtilPage.ets · 桃花鎮(zhèn)童長老/harmony-utils - Gitee.com??
本文檔所介紹的第三方庫源地址鏈接??OpenHarmony三方庫中心倉?
?
審核編輯 黃宇
-
數(shù)碼相機(jī)
+關(guān)注
關(guān)注
2文章
445瀏覽量
39778 -
SDK
+關(guān)注
關(guān)注
3文章
1092瀏覽量
50961
發(fā)布評論請先 登錄
harmony-utils之DeviceUtil,設(shè)備相關(guān)工具類
harmony-utils之LRUCacheUtil,LRUCache緩存工具類
harmony-utils之NumberUtil,Number工具類
harmony-utils之PreferencesUtil,首選項工具類
harmony-utils之PreviewUtil,文件預(yù)覽工具類
harmony-utils之RegexUtil,正則工具類
harmony-utils之SnapshotUtil,截圖相關(guān)工具類
harmony-utils之StrUtil,字符串工具類
harmony-utils之TypeUtil,類型檢查工具類
harmony-utils之WindowUtil,窗口相關(guān)工具類
harmony-utils之AuthUtil,生物認(rèn)證相關(guān)工具類
harmony-utils之ArrayUtil,集合工具類
harmony-utils之TempUtil,溫度轉(zhuǎn)換工具類
如何使用第三方庫中的@pura/harmony-utils(V1.3.3)申請授權(quán)工具類一

如何使用第三方庫中的@pura/harmony-utils(V1.3.3)申請授權(quán)工具類二
評論