uni-app android.permission.RECORD_AUDIO权限设置无效
uni-app android.permission.RECORD_AUDIO权限设置无效
产品分类:
uniapp/App
PC开发环境操作系统:
Windows
PC开发环境操作系统版本号:
windows11
HBuilderX类型:
正式
HBuilderX版本号:
4.08
手机系统:
全部
手机厂商:
华为
页面类型:
vue
vue版本:
vue3
打包方式:
云端
项目创建方式:
HBuilderX
测试过的手机:
Harmony 3.0.0
操作步骤:
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
预期结果:
app在系统权限管理中有麦克风选项
实际结果:
app在系统权限管理中没有麦克风选项
bug描述:
开发环境 | 版本号 | 项目创建方式 |
---|---|---|
Windows | 4.08 | HBuilderX |
更多关于uni-app android.permission.RECORD_AUDIO权限设置无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
我这边也是+1,官方回复下
更多关于uni-app android.permission.RECORD_AUDIO权限设置无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,我这边也遇到这个问题了,请问您这边解决了吗
在 UniApp 中,如果你遇到 android.permission.RECORD_AUDIO
权限设置无效的问题,可能是由于以下原因导致的。下面是一些常见的解决方法:
1. 确认权限声明正确
在 manifest.json
文件中,确保你已经正确声明了录音权限:
{
"permissions": {
"android": [
{
"name": "android.permission.RECORD_AUDIO"
}
]
}
}
2. 动态申请权限
在 Android 6.0 及以上版本,部分权限需要动态申请。你可以在代码中动态请求录音权限:
uni.authorize({
scope: 'scope.record',
success() {
console.log('录音权限已授权');
},
fail() {
console.log('录音权限未授权');
}
});
或者在需要时调用:
uni.getSetting({
success(res) {
if (!res.authSetting['scope.record']) {
uni.authorize({
scope: 'scope.record',
success() {
console.log('录音权限已授权');
},
fail() {
console.log('录音权限未授权');
}
});
}
}
});
3. 检查设备权限设置
如果动态申请权限失败,可能是因为用户手动禁用了权限。可以引导用户到系统设置中开启权限:
uni.openSetting({
success(res) {
console.log('打开系统设置成功');
},
fail() {
console.log('打开系统设置失败');
}
});
4. 检查 UniApp 版本
确保你使用的是最新版本的 UniApp,旧版本可能存在权限相关的 Bug。
5. 检查原生代码
如果你使用了原生插件或自定义原生代码,确保插件或代码中正确实现了权限申请逻辑。
6. 真机调试
在模拟器上可能无法正确模拟权限行为,建议使用真机测试。
7. 检查 Android 配置
如果你的项目是原生 Android 项目(如通过 HBuilderX 打包),确保在 AndroidManifest.xml
中正确声明了权限:
<uses-permission android:name="android.permission.RECORD_AUDIO" />