android - ionic 4: android 权限在 prod 构建后不起作用
问题描述
我正在使用@ionic-native/android-permissions。我在 app.component.ts 中的代码:
this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.RECORD_AUDIO).then(
(result)=>{
if(!result.hasPermission)
{
this.androidPermissions.requestPermissions(
[this.androidPermissions.PERMISSION.RECORD_AUDIO,
this.androidPermissions.PERMISSION.GET_ACCOUNTS]
).then(()=>{
// this.rootPage = HomePage;
window.location.reload();
});
}
});
当我这样做时它正在工作:
离子科尔多瓦运行android
或者
离子科尔多瓦构建android
或者
离子科尔多瓦构建 android --release
但是,如果我添加 --prod,该应用程序不会请求许可。IE :
离子科尔多瓦运行 android --prod
或者
离子科尔多瓦构建 android --prod --release
所以设备麦克风不适用于该应用程序。
解决方案
我遇到了这个问题,我通过向 config.xml 添加权限来解决它,然后弹出窗口将显示并询问客户端的权限。 向 config.xml 添加权限
<platform name="android">
....
<config-file parent="/manifest" target="AndroidManifest.xml" xmlns:android="http://schemas.android.com/apk/res/android">
<uses-feature android:name="android.hardware.microphone" android:required="true" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
</config-file>
....
</platform>
推荐阅读
- wix - 安装过程中关于 InstallLevel 和条件的奇怪可重现行为
- assembly - Ghidra 中的局部变量寻址
- ruby-on-rails - RoR:指定 api_only?对于部分路线
- css - 使右下角固定元素高于页脚
- jenkins - 使用 Nx 在 Jenkins 中进行 CI/CD 的最佳方式
- excel - 为什么 Range 方法 Select 第一次有效,第二次无效
- javascript - 滚动时标题中的内容移动
- css - 下拉菜单的 CSS(样式组件)问题
- javascript - 如何获取chrome中选项卡使用的实际内存?
- android - 执行“单击”时出错 - 在坐标处执行简单的单击操作