通过向MODIFY_AUDIO_SETTINGS添加config.xml权限,我的应用程序将在运行后崩溃。
<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>然后运行app:
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)
);但是没有弹出式节目来请求用户的许可。最后我直接使用了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);我可以获得相机或record_audio的许可,但requestPermission返回假的MODIDY_AUDIO_SETTINGS权限。
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% solve========================>
在将权限手动添加到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" />发布于 2020-02-15 07:51:22
该问题通过向< config-file >标记添加权限来解决。
在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服务器,然后重新运行应用程序。
ionic cordova run android --device现在,在发送许可请求时,应用程序会弹出。
https://stackoverflow.com/questions/60228926
复制相似问题