Fetch the repository succeeded.
每次申请权限的时候,都需要经过以上几个步骤,当申请的权限越来越多,大量的重复代码就出现了。为了减少重复代码,我封装了一个权限请求框架。
桃夭是鸿蒙系统上的一款权限请求框架,封装了权限请求逻辑,采用链式调用的方式请求权限,极大的简化了权限请求的代码,同时支持在UI
、UIAbility
、UIExtensionAbility
里面申请权限。需要注意的是,应用在UIExtensionAbility
申请授权时,需要在onWindowStageCreate
函数执行结束后或在onWindowStageCreate
函数回调中申请权限。
本项目基于开源鸿蒙4.1开发,最低兼容到API 11,请将DevEco Studio升级到最新版,DevEco Studio版本低于5.0.3.403可能无法编译。
桃夭一词出自古代第一部诗歌总集《诗经》中《诗经·桃夭》,“桃之夭夭,灼灼其华。”桃花怒放千万朵,色彩鲜艳红似火。
ohpm install @shijing/taoyao
TaoYao.with(this)
.runtime()
// 要申请的权限
.permission(permissions)
.onGranted(() => {
// 权限申请成功
})
.onDenied(() => {
// 权限申请失败
})
.request()
申请权限变得如此之简单。
提供跳转到系统设置的方法
/**
* 跳转到系统设置页面
*
* @param context
*/
static goToSettingPage(context: common.UIAbilityContext) {
TaoYao.with(context).setting().goToSettingPage()
}
有的时候仅仅只需判断是否有权限,并不申请权限。
/**
* 仅仅检测是否有权限,如果没有权限,不会申请权限
*
* @param permissions
* @returns true 有权限
*/
static hasPermission(permissions: Array<Permissions>): boolean {
const generalChecker = new GeneralChecker()
return generalChecker.hasPermission(permissions)
}
实现原理请查看实战鸿蒙,实现一款权限请求框架。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
1. Open source ecosystem
2. Collaboration, People, Software
3. Evaluation model