De *_* As 6 android ionic-framework ionic-native ionic5
我有一个 Ionic 5/Angular 应用程序,它使用 Ionic Native Camera 插件来拍照并裁剪图像。在我更新到 Android 11(使用 note 10 plus)之前,该功能一直运行良好。更新后,裁剪时抛出以下错误:无法保存裁剪后的图像 - 访问被拒绝。
TS代码:
takePicture() {
this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE,
this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE]);
const options: CameraOptions = {
quality: 100,
targetHeight: 1920,
targetWidth: 1080,
sourceType: 1, // CAMERA
destinationType: 0, // DATA_URL
encodingType: this.camera.EncodingType.JPEG,
correctOrientation: true,
allowEdit: true
};
this.camera.getPicture(options).then((imageData) => {
// Persist image data
});
}
Run Code Online (Sandbox Code Playgroud)
应用程序在其他设备上运行良好。还检查了我的应用程序、图库应用程序和照片编辑器应用程序是否具有存储和相机权限。我可以拍照,裁剪器会打开 - 点击“完成”后,会显示“访问被拒绝”消息,紧接着会显示“无法保存裁剪后的图像”。
注意:我在另一台运行 Android 11 的设备上进行了测试,结果出现了相同的错误。
尝试通过使用属性android:requestLegacyExternalStorage更新 AndroidManifest.xml 来选择退出范围存储:
<manifest ... >
<application android:requestLegacyExternalStorage="true" ... >
...
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
来源:https ://developer.android.com/training/data-storage/use-cases#opt-out-scoped-storage
归档时间: |
|
查看次数: |
6133 次 |
最近记录: |