“cordova-plugin-zip”适用于 Android 8,但不适用于 Android 12、13

问题描述 投票:0回答:1

我有这个基于 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

谢谢。

android cordova cordova-plugins android-permissions
1个回答
0
投票

我看到不再支持该插件,所以我尝试使用这个:

https://github.com/jjdltc/jjdltc-cordova-plugin-zip

似乎在较新的 Android 版本上运行良好

© www.soinside.com 2019 - 2024. All rights reserved.