使用app的时候都清楚,想使用麦克风、摄像头,存储照片等,都需要调用系统的权限,没有手机操作系统权限你也使用不了app所提供的功能,虽然app可以正常打开,但是你需要的功能是没办法使用的。今天把自己在鸿蒙学习中遇到的问题打算记录下来,并整理成自己的学习之路,今天来说一下麦克风的权限的开启。
在EntryAbility.ets中,在oncreate函数里,没有加载页面的时候去申请一下系统权限。代码如下:
async onCreate(want: Want, launchParam: AbilityConstant.LaunchParam) {
hilog.info(0x0000, ‘testTag’, ‘%{public}s’, ‘Ability onCreate’);
//一进app进行的权限申请(必须),不然页面调用麦克风权限没有麦克风勾选
let manager= abilityAccessCtrl.createAtManager()
await manager.requestPermissionsFromUser(this.context,['ohos.permission.MICROPHONE'])
}
需要创建一个manager,manager中有个获取权限的函数,参数的context,一个是你需要获取的麦克风权限。至于为什么异步。是获取权限的函数是需要等待的返回值是Promis看见这种返回值的都是需要等待的,如果不想写await 函数名前加async也可以(.then)然后写回调函数,就是请求后返回一个结果,至于你怎么处理根据你的需求来。至少这一点和unity的开发相关性不大,一般是在task任务需要异步等待,前面的代码是第一步,至于为什么是第一步&#