[英]Android Error - Access denied unable to save cropped image
我有一個 Ionic 5/Angular 應用程序,它使用 Ionic Native Camera 插件來拍照和裁剪圖像。 在我更新到 Android 11(使用注釋 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
});
}
應用程序在其他設備上運行良好。 還檢查了我的應用程序、圖庫應用程序和照片編輯器應用程序是否具有存儲和相機權限。 我可以拍照並打開裁剪器 - 點擊完成后,會顯示“訪問被拒絕”消息,緊隨其后的是“無法保存裁剪的圖像”。
注意:我在另一台運行 Android 11 的設備上對此進行了測試,這導致了同樣的錯誤。
嘗試通過使用屬性android:requestLegacyExternalStorage更新您的 AndroidManifest.xml 來選擇退出范圍存儲:
<manifest ... >
<application android:requestLegacyExternalStorage="true" ... >
...
</application>
</manifest>
來源: https://developer.android.com/training/data-storage/use-cases#opt-out-scoped-storage
請檢查從 Android 11 到外部存儲的更改。
您必須對 Android 11 使用一種方法,點擊上面的鏈接並更新您的照片編輯器應用程序。
就我而言,“裁剪圖像”導致了這個問題。 因此,如果您不關心裁剪,請將“ allowEdit:true ”更改為“ allowEdit:false ”。 然后錯誤將被刪除。 但是,不要忘記您將無法裁剪圖片。
如果可以的話,我最好的選擇是降級。 它在上一個版本有效,對嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.