【发布时间】:2020-02-14 15:11:52
【问题描述】:
通过向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
我也尝试了 ionic 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)
);
但没有弹出显示请求用户许可。 最后我直接使用了cordova权限
ionic cordova plugin add cordova-plugin-android-permissions
declare var cordova:any
var permissions = cordova.plugins.permissions;
permissions.requestPermission(permissions.RECORD_AUDIO, successCallback, errorCallback);
我可以得到camera或record_audio的许可 但是对于 MODIDY_AUDIO_SETTINGS 权限,requestPermission 返回 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" />
【问题讨论】:
-
能否提供错误输出?
-
对不起,没有错误。它在 status.hasPermission 上返回 false
-
直接向AndroidManifest.xml添加权限解决了这个问题。但是如何给 config.xml 添加权限呢?
-
返回cordova文档,检查一下..
标签: cordova ionic-framework webrtc android-permissions getusermedia