我正在用Kivy编写一个Android应用程序,并希望该应用程序写入Android文件系统,一些公共目录/文件。在
目前,如果我的应用程序编写了一个文件(使用Python),android本地文件管理器可以读取该文件,但我的计算机mtp无法读取该文件(这些文件不会出现在InternalStorage中)。不过,adbshell可以看到这些文件。在
[编辑]解决方案可以是使用带有Pyjnius的mediascannerconnerconnect扫描文件中的mtp,但是正如我下一个答案所示,它对我不起作用。[/编辑]
在我看来,我在寻找与这里描述的javagetsharedpreferences的等价物:http://developer.android.com/guide/topics/security/permissions.html。在
我认为在buildozer规范中有一个类似的选项:android私有存储此处描述的字段:https://raw.githubusercontent.com/kivy/buildozer/master/buildozer/default.spec。在
但是,我不能让它发挥作用。。。也许我没有正确使用buildozer命令:在规范中的设置之后”android.private_存储=False“,我尝试了几个命令,比如“buildozer android release--dir public my_dir”,或者“buildozer android release--public my_dir”,等等。。。,没有成功。在
我一直在尝试使用Pyjnius中的mediascannerconnerconnerconnect使文件可以查看而不重置,但没有成功。在将文件写入文件系统后,目标是扫描它们。下面是运行但没有任何明显效果的代码。在
我也尝试过使用scanFile方法的另一个重载形式,但我无法正确定义所需的接口:
^{pr2}$或多或少解决了:这显然是mtp中的一个已知缺陷:有些文件,取决于它们的编写方式(我使用Python“open”指令),直到重新启动设备才会显示。事实上,重启设备确实有帮助。在
相关问题 更多 >
编程相关推荐