无法使用 Quasar Capacitor 在 Android 上的 ExternalStorage 中创建或更新文件

问题描述

我需要使用 quasar - (capacitor v2) 在外部存储(sdCard 或闪存盘 micro usb)上创建一个文件,并输入一些哈希值,然后读取它并抛出任何其他 android 设备(仅限 android 设备)。 我添加了这些权限: <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

我正在 android 6.0.1 上测试这个应用程序,我什至添加了这个属性以确保我在使用 android 10+ 时不会出现问题 android:requestLegacyExternalStorage="true"

但我总是收到这个错误

V/Capacitor/Plugin: To native (Capacitor plugin): callbackId: 33199920,pluginId: Filesystem,methodName: writeFile V/Capacitor: callback: 33199920,methodName: writeFile,methodData: {"path":"../../00D4-0020/test.txt","data":"This is a test","目录":"EXTERNAL_STORAGE","编码":"utf8"} V/电容器/文件系统:授予“android.permission.WRITE_EXTERNAL_STORAGE”权限 E/电容器/文件系统:创建文本文件 '/storage/emulated/0/../../00D4-0020/test.txt' 与字符集 'java.nio.charset.CharsetICU[UTF-8]' 失败。错误:/storage/emulated/0/../../00D4-0020/test.txt:打开失败:EACCES(权限被拒绝) java.io.FileNotFoundException:/storage/emulated/0/../../00D4-0020/test.txt:打开失败:EACCES(权限被拒绝) 在 libcore.io.IoBridge.open(IoBridge.java:452) 在 java.io.FileOutputStream.(FileOutputStream.java:87) 在 com.getcapacitor.plugin.Filesystem.saveFile(Filesystem.java:269) 在 com.getcapacitor.plugin.Filesystem.writeFile(Filesystem.java:225) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99) 在 com.getcapacitor.Bridge$1.run(Bridge.java:542) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:148) 在 android.os.HandlerThread.run(HandlerThread.java:61) 引起:android.system.ErrnoException:打开失败:EACCES(权限被拒绝) 在 libcore.io.Posix.open(本机方法) 在 libcore.io.BlockGuardOs.open(BlockGuardOs.java:186) 在 libcore.io.IoBridge.open(IoBridge.java:438) 在 java.io.FileOutputStream.(FileOutputStream.java:87) 在 com.getcapacitor.plugin.Filesystem.saveFile(Filesystem.java:269) 在 com.getcapacitor.plugin.Filesystem.writeFile(Filesystem.java:225) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.getcapacitor.PluginHandle.invoke(PluginHandle.java:99) 在 com.getcapacitor.Bridge$1.run(Bridge.java:542) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:148) 在 android.os.HandlerThread.run(HandlerThread.java:61) D/电容:发送插件错误:{"save":false,"callbackId":"33199920","pluginId":"Filesystem","methodName":"writeFile","success":false,"error":{ "message":"FILE_NOTCREATED"}} E/Capacitor/Console:文件:webpack-internal:///./node_modules/@quasar/app/lib/webpack/loader.transform-quasar-imports.js!./node_modules/babel-loader/lib/index.html js?!./node_modules/@quasar/app/lib/webpack/loader.auto-import-client.js?kebab!./node_modules/vue-loader/lib/index.js?!./src/pages/settingsPage .vue?vue&type=script&lang=js& - 第 51 行 - 消息:无法写入文件错误:FILE_NOTCREATED

这些是我正在使用的方法methods' image

有什么解决办法吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)