我有这个基于 cordova (cordova-plugin-zip 3.1.0) 的函数来解压 .zip 文件,在 Android 8 中工作得很好:
export async function decompressService() {
return new Promise((resolve) => {
window.zip.unzip(
decompressionFileData.destinationURI,
decompressionFileData.destinationURIFolder,
(status) => {
if (status === 0) {
// Successfully unziped
const deletionCompressedFileData = {
destinationURIFolder: decompressionFileData.destinationURIFolder,
destinationURIFile: decompressionFileData.destinationURIFile
};
resolve(deletionCompressedFileData);
} else {
// There was an error, returning null
resolve(null);
}
},
(progress) => {
let percentage = Math.round((progress.loaded / progress.total) * 100);
console.log(percentage);
}
);
});
}
但是现在我更新了很多东西:
-Cordova 现在是版本 12
-Gradle v8.3
-Java v11
-Android 平台 v12 和 v13(我认为 API 是 32 和 33)
-cordova 插件的版本
现在除了这个功能之外一切都保持正常工作(现在总是返回状态-1)。它也不要求用户启用权限。
我想我看到了一种新方法来处理较新版本的 Android 的图像和视频的读写权限,但我不确定如何在我的情况下应用它(处理 zip 文件) 我该如何解决这个问题?
注意:我的项目中也有这个插件(到目前为止它们似乎都工作正常):
cordova-剪贴板 1.3.0
cordova-插件徽章 0.8.9
cordova-插件-相机-预览 0.12.3
cordova-plugin-customurlscheme 5.0.2
cordova-插件设备 2.1.0
cordova-插件-文件传输 2.0.0
cordova-插件文件 8.0.0
cordova-plugin-geolocation 4.1.0
cordova-plugin-local-notification 0.9.0-beta.2
cordova-插件-白名单 1.3.5
cordova-sqlite-ext 6.0.0
cordova.plugins.diagnostic 7.1.2
JIC,我只使用 Cordova,不使用 Ionic
谢谢。