当前位置: 首页> 文旅> 文化 > 制作海报用什么软件_安徽品质网站建设创新_百度seo排名原理_设计网站的公司

制作海报用什么软件_安徽品质网站建设创新_百度seo排名原理_设计网站的公司

时间:2025/7/9 1:00:32来源:https://blog.csdn.net/chenjiap/article/details/146200864 浏览次数:1次
制作海报用什么软件_安徽品质网站建设创新_百度seo排名原理_设计网站的公司

harmonyOS(麦克风权限)

  • 前言
    • 1. 配置路径
    • 2. 权限申请
    • 3. 授权检测
    • 4. 调用
    • 5. 真机效果


前言

app的开发中往往需要申请很多的权限来完成适配,麦克风的适配相比于网络和WiFi权限来说相对麻烦些,除了在module.json5配置权限外,平时工作会在element的string中统一名字的配置,具体路径如下所示


1. 配置路径

在这里插入图片描述

2. 权限申请

module.json5

    "requestPermissions":[{"name": "ohos.permission.MICROPHONE", //麦克风权限"reason": "$string:apply_microphone", //string中设置的名字"usedScene": {"abilities": ["EntryAbility"],"when": "inuse"}}]

element => string

{"string": [{"name": "apply_microphone","value": "相机权限"}]
}

3. 授权检测

requestPermissionsFromUser会帮我们去检测授权状态,如果没授权过会唤起弹窗让用户选择,此授权代码借鉴于华为技术文档。

import { abilityAccessCtrl, common, Permissions } from "@kit.AbilityKit";
import { BusinessError } from "@kit.BasicServicesKit";export function permissionMicrophone(context: common.UIAbilityContext,permissionResult: (allow: boolean) => void
): void {let atManager: abilityAccessCtrl.AtManager = abilityAccessCtrl.createAtManager();let permissions: Array<Permissions> = ['ohos.permission.MICROPHONE'];// requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗atManager.requestPermissionsFromUser(context, permissions).then((data) => {let Status: Array<number> = data.authResults;let length: number = Status.length;for (let i = 0; i < length; i++) {if (Status[i] === 0) {// 用户授权,可以继续访问目标操作permissionResult(true);console.debug("permissionLog:麦克风授权成功:用户授权");} else {// 用户拒绝授权,提示用户必须授权才能访问当前页面的功能,并引导用户到系统设置中打开相应的权限permissionResult(false);console.debug("permissionLog:麦克风授权失败:用户拒绝");return;}}// 授权成功}).catch((err: BusinessError) => {permissionResult(false);console.error(`Failed to request permissions from user. Code is ${err.code}, message is ${err.message}`);});
}

4. 调用

我这里是通过点击按钮调用的,只是测试功能连通性

import { permissionMicrophone} from '../utils/PermissionMicrophome';
import { common } from '@kit.AbilityKit';

struct Index {//获取Ability上下文private context = getContext(this) as common.UIAbilityContext;build() {RelativeContainer() {Button('麦克风',{type:ButtonType.Capsule,stateEffect:true}).alignRules({center : {anchor:'__container__' , align : VerticalAlign.Center},middle : {anchor:'__container__' , align : HorizontalAlign.Center}}).onClick(() => {// 调用权限请求方法permissionMicrophone(this.context, (allowed) => {if (allowed) {// 授权成功逻辑console.log('权限已授予');} else {// 授权失败处理console.log('权限被拒绝');}});})}.height('100%').width('100%')}
}

查询日志信息
在这里插入图片描述

5. 真机效果

在这里插入图片描述

关键字:制作海报用什么软件_安徽品质网站建设创新_百度seo排名原理_设计网站的公司

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: