如何在Android 10上使用Kivy应用程序写入文件?

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

我制作了一个 Kivy 应用程序,带有一个从互联网下载文件的按钮。但是,每次点击按钮时都会出现错误:

[Errno 13] Permission denied: sdcard/file.txt

我尝试在

AndroidManfest.xml
文件和
buildozer.spec
文件中进行更改,但没有任何运气。经过快速研究,我发现 Android 存储系统在 Android 10 或更高版本上完全改变了。经过更多研究后,我发现我必须编写一些内容而不是清单文件,但我不能,因为我无法打开它来实际读取它。 (这是一堆乱七八糟的字母) 所以我的问题是,我可以使用 buildozer 或其他东西进行更改吗? 还有其他方式访问存储吗? 另外,我该如何修复我的代码,以便它尝试访问内部存储?

这是我的系统: 装有应用程序的手机:Android 10 打包:GitHub Actions; ubuntu-20.04(应用程序可以运行,但前提是它们不必访问存储) 如有必要,我可以使用额外的计算机:Windows 10

python kivy buildozer file-writing
1个回答
0
投票

所以我实际上找到了解决方案here;感谢约翰·安德森的评论。 只需浏览代码并根据需要使用它即可。 (别忘了功劳!) 您还需要将

READ_EXTERNAL_STORAGE
WRITE_EXTERNAL_STORAGE
添加到 buildozer.spec 它应该适用于每个 Android 版本。 (antorix 在 Android 6、10、12 上测试过;我在 Android 10 上测试过)

再次感谢。

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