HarmonyOS 鸿蒙Next 权限请求框架

发布于 1周前 作者 sinazl 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 权限请求框架

麻烦提供一个权限请求的工具类 

2 回复
参考以下demo:
import { abilityAccessCtrl, common, PermissionRequestResult, Permissions } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
/**
 * 权限管理工具类
 * 能力:检查权限是否已存在、请求用户授权
 */
class PermissionsUtil {
  /**
   * 申请用户授权
   * [@param](/user/param) permissions
   */
  requestPermissions(permissions: Array<Permissions>): void {
    let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
    atManager.requestPermissionsFromUser(getContext() as common.UIAbilityContext, permissions)
      .then((data: PermissionRequestResult) => {
        console.info('request Permissions success')
      })
      .catch((err: BusinessError) => {
        console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);
      })
  }
}
export default new PermissionsUtil();

 

//上述为权限申请工具类,任意UI页面都可以调用进行权限申请,写法如下:

PermissionsUtil.requestPermissions([‘ohos.permission.LOCATION’, ‘ohos.permission.APPROXIMATELY_LOCATION’])

 

// 如果已经申请过的权限并且禁止了,请跳转到应用权限设置页手动打开,参考代码如下,且权限申请只有第一次才会弹窗,

let want: Want = { bundleName: ‘com.huawei.hmos.settings’, abilityName: ‘com.huawei.hmos.settings.MainAbility’, uri: ‘application_info_entry’, //application_settings application_info_entry parameters: { pushParams: ‘com.example.utildemo’ // 应用包名 } } this.contextUi.startAbility(want, (res) => { })

更多关于HarmonyOS 鸿蒙Next 权限请求框架的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


HarmonyOS 鸿蒙Next 权限请求框架基于系统的安全机制和用户体验设计,为开发者提供了一种标准化的方式来请求和管理应用所需的权限。

在鸿蒙Next系统中,权限被分为普通权限和敏感权限。普通权限通常对系统安全和用户隐私影响较小,系统会自动授予,无需用户干预。而敏感权限则涉及用户隐私或系统安全,需要应用显式请求,并获得用户授权后才能使用。

开发者在开发鸿蒙应用时,需要在应用的manifest文件中声明所需的权限。对于敏感权限,系统会在应用运行时向用户展示权限请求对话框,用户同意后,应用才能获得相应的权限。

鸿蒙Next的权限请求框架还提供了动态权限请求的功能,允许应用在运行时根据实际需要请求权限,而不是在启动时一次性请求所有权限。这有助于提升用户体验,因为用户只需为实际使用的功能授权。

此外,鸿蒙Next还引入了权限组的概念,将具有相似性质的权限归为一组,用户可以选择为整个权限组授权,简化了权限管理的流程。

如果开发者在使用鸿蒙Next权限请求框架时遇到问题,可以通过阅读官方文档或查看示例代码来获取更多信息。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部