向config.xml文件添加使用权限后,离子应用程序崩溃

问题描述 投票:0回答:1

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

<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许可

 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)
);

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

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。

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%解决率========================>

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

<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" />
cordova ionic-framework webrtc android-permissions getusermedia
1个回答
0
投票

通过向标签添加权限解决了该问题。

© www.soinside.com 2019 - 2024. All rights reserved.