一、错误码6800301的信息
错误码6800301,表示包含参数校验异常、权限校验异常、系统处理异常(具体错误查看系统日志)。
本人遇到的问题是,申请了麦克风权限,但是未弹出提示用户授权,所以权限校验失败了。
二、配置权限
src/main/module.json5文件中配置如下内容
"requestPermissions": [
{
"name" : "ohos.permission.MICROPHONE",
"reason": "$string:app_name",
"usedScene": {
"abilities": [
"EntryAbility"
],
"when": "always"
}
},
]
三、createAudioCapturer前弹窗提示用户授权
import { abilityAccessCtrl } from '@kit.AbilityKit';
let atManager = abilityAccessCtrl.createAtManager();
atManager.requestPermissionsFromUser(getContext(), ['ohos.permission.MICROPHONE']).then((data) => {
// 权限授权信息,
console.info('data:' + JSON.stringify(data));
// 用户同意授权,已弹窗
// data:{"permissions":["ohos.permission.MICROPHONE"],"authResults":[0],"dialogShownResults":[true]}
// data:{"permissions":["ohos.permission.MICROPHONE"],"authResults":[0],"dialogShownResults":[false]}
// 用户拒绝授权,未弹窗
// data:{"permissions":["ohos.permission.MICROPHONE"],"authResults":[-1],"dialogShownResults":[false]}
}).catch((err: BusinessError) => {
console.info('data:' + JSON.stringify(err));
});
当应用通过requestPermissionsFromUser()拉起弹框请求用户授权时,用户拒绝授权。应用将无法再次通过requestPermissionsFromUser拉起弹框,需要用户在系统应用“设置”的界面中,手动授予权限。
应用也可以通过调用requestPermissionOnSetting(),直接拉起权限设置弹框,引导用户授予权限。
以下示例代码以再次拉起弹窗申请ohos.permission.MICROPHONE权限为例。
import { abilityAccessCtrl, Context, common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();
let context: Context = getContext(this) as common.UIAbilityContext;
atManager.requestPermissionOnSetting(context, ['ohos.permission.MICROPHONE']).then((data: Array<abilityAccessCtrl.GrantStatus>) => {
console.info('data:' + JSON.stringify(data));
}).catch((err: BusinessError) => {
console.error('data:' + JSON.stringify(err));
});
1044

被折叠的 条评论
为什么被折叠?



