将使用权限添加到config.xml文件后,Ionic应用程序崩溃 [英] Ionic app crash after adding use permission to config.xml file

查看:268
本文介绍了将使用权限添加到config.xml文件后,Ionic应用程序崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

通过向config.xml添加MODIFY_AUDIO_SETTINGS权限,我的应用在运行后将崩溃.

By adding MODIFY_AUDIO_SETTINGS permission to config.xml, my app will crash after run.

<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/uses-permission" xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
</edit-config>

然后运行应用程序:

 ionic cordova run android -- device

我也尝试获取离子android权限

Also i try for ionic android permission

 import { AndroidPermissions } from '@ionic-native/android-permissions/ngx';

 this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.CAMERA).then(
  result =>console.log('Haspermission?',result.hasPermission),
  err =>this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.CAMERA)
);

但是没有弹出窗口要求用户许可. 最后,我直接使用了科尔多瓦权限

But no popup show to ask user for permission. And in the end i used cordova permission directly

ionic cordova plugin add cordova-plugin-android-permissions

declare var cordova:any
var permissions = cordova.plugins.permissions;
permissions.requestPermission(permissions.RECORD_AUDIO, successCallback, errorCallback);

我可以获得摄影机或record_audio的许可 但是requestPermission对于MODIDY_AUDIO_SETTINGS权限返回false.

i can get permission of camera or record_audio But requestPermission return false for MODIDY_AUDIO_SETTINGS permission.

permissions.requestPermission(permission.MODIDY_AUDIO_SETTINGS, success, error);

function error() {
    resolve(false);
}

function success(status) {
  if (status.hasPermission) {  // <-- status.hasPermission is false here
     resolve(true);
  } else {
    resolve(false);
  }
}

90%解决率========================>

90% solve========================>

在向AndroidManifest.xml手动添加权限之后. 应用程序显示弹出窗口以立即请求权限. 我如何才能将此权限添加到confix.xml而不是直接添加到AndroidManifest.xml? 正如我所说的,当我将此权限添加到config.xml中时.应用程序无法启动.

after adding permission manually to AndroidManifest.xml. application show popup to ask permisson now. how can i add this permission to confix.xml instead of directly to AndroidManifest.xml? as i said when i add this permission to config.xml. application wont start.

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" android:required="true" />
<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" />

推荐答案

通过向<配置文件>标签.

The issue solved by adding permission to < config-file > tag.

在config.xml内部:

inside config.xml:

<platform name="android">
    ....
    <config-file parent="/manifest" target="AndroidManifest.xml" xmlns:android="http://schemas.android.com/apk/res/android">
        <uses-permission android:name="android.permission.CAMERA" />
        <uses-feature android:name="android.hardware.camera" android:required="true" />
        <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>

再次拔出/插入USB设备或重置adb服务器并重新运行该应用程序

unplug/plug again usb device or reset adb server and re run the application

ionic cordova run android --device

现在,在发送许可请求时,应用程序显示弹出窗口.

and now, application show popup when sending request for permission.

这篇关于将使用权限添加到config.xml文件后,Ionic应用程序崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆