«cordova-plugin-zip» работал на Android 8, но не на Android 12, 13. ⇐ Android
-
Anonymous
«cordova-plugin-zip» работал на Android 8, но не на Android 12, 13.
У меня была эта функция на основе Cordova (cordova-plugin-zip 3.1.0) для распаковки ZIP-файла, которая отлично работала в Android 8:
экспортировать асинхронную функцию decompressService() { вернуть новое обещание((решить) => { окно.zip.unzip( декомпрессионфиледата.destinationURI, декомпрессияFileData.destinationURIFolder, (статус) => { если (статус === 0) { // Успешно разархивировано const deleteCompressedFileData = { DestinationURIFolder: decompressionFileData.destinationURIFolder, DestinationURIFile: decompressionFileData.destinationURIFile }; разрешить (удалениеCompressedFileData); } еще { // Произошла ошибка, возвращаем ноль разрешить (ноль); } }, (прогресс) => { пусть процент = Math.round((progress.loaded/progress.total) * 100); console.log(процент); } ); });
Но теперь я многое обновил:
-Cordova теперь имеет версию 12
-Gradle v8.3
-Java v11
-Платформа Android v12 и v13 (я думаю, API 32 и 33)
-Версии плагинов Cordova
И теперь все работает нормально, ЗА ИСКЛЮЧЕНИЕМ ЭТОЙ ФУНКЦИИ (теперь всегда возвращает статус -1). Он также не запрашивает у пользователя разрешения.
Мне кажется, я видел кое-что о новом способе обработки разрешений ЧТЕНИЕ и ЗАПИСЬ для изображений и видео для более новых версий Android, но я не уверен, как применить его в моем случае (обработка zip-файлов). Как я могу решить эту проблему?
Примечание. В моем проекте также есть эти плагины (пока все они работают нормально):
Кордова-буфер обмена 1.3.0
cordova-plugin-badge 0.8.9
cordova-plugin-camera-preview 0.12.3
cordova-plugin-customurlscheme 5.0.2
cordova-плагин-устройство 2.1.0
cordova-plugin-file-transfer 2.0.0
файл-плагина cordova 8.0.0
cordova-plugin-geolocation 4.1.0
cordova-plugin-local-notification 0.9.0-beta.2
cordova-plugin-whitelist 1.3.5
cordova-sqlite-ext 6.0.0
cordova.plugins.diagnostic 7.1.2
JIC, я использую только Cordova, а не Ionic
Спасибо.
У меня была эта функция на основе Cordova (cordova-plugin-zip 3.1.0) для распаковки ZIP-файла, которая отлично работала в Android 8:
экспортировать асинхронную функцию decompressService() { вернуть новое обещание((решить) => { окно.zip.unzip( декомпрессионфиледата.destinationURI, декомпрессияFileData.destinationURIFolder, (статус) => { если (статус === 0) { // Успешно разархивировано const deleteCompressedFileData = { DestinationURIFolder: decompressionFileData.destinationURIFolder, DestinationURIFile: decompressionFileData.destinationURIFile }; разрешить (удалениеCompressedFileData); } еще { // Произошла ошибка, возвращаем ноль разрешить (ноль); } }, (прогресс) => { пусть процент = Math.round((progress.loaded/progress.total) * 100); console.log(процент); } ); });
Но теперь я многое обновил:
-Cordova теперь имеет версию 12
-Gradle v8.3
-Java v11
-Платформа Android v12 и v13 (я думаю, API 32 и 33)
-Версии плагинов Cordova
И теперь все работает нормально, ЗА ИСКЛЮЧЕНИЕМ ЭТОЙ ФУНКЦИИ (теперь всегда возвращает статус -1). Он также не запрашивает у пользователя разрешения.
Мне кажется, я видел кое-что о новом способе обработки разрешений ЧТЕНИЕ и ЗАПИСЬ для изображений и видео для более новых версий Android, но я не уверен, как применить его в моем случае (обработка zip-файлов). Как я могу решить эту проблему?
Примечание. В моем проекте также есть эти плагины (пока все они работают нормально):
Кордова-буфер обмена 1.3.0
cordova-plugin-badge 0.8.9
cordova-plugin-camera-preview 0.12.3
cordova-plugin-customurlscheme 5.0.2
cordova-плагин-устройство 2.1.0
cordova-plugin-file-transfer 2.0.0
файл-плагина cordova 8.0.0
cordova-plugin-geolocation 4.1.0
cordova-plugin-local-notification 0.9.0-beta.2
cordova-plugin-whitelist 1.3.5
cordova-sqlite-ext 6.0.0
cordova.plugins.diagnostic 7.1.2
JIC, я использую только Cordova, а не Ionic
Спасибо.
Мобильная версия