在我的应用程序中,我希望用户能够备份他们的数据库,因此我提供了一个选项,可以通过意图将db文件上传到某个云存储应用程序。
这是我当前的代码(在Scala中),它不起作用:
0
文件选择器已启动,但可用的应用程序实际上都没有接受文件说它的格式错误等。为什么会发生这种情况?我该如何解决这个问题?
答案 0 :(得分:2)
正如Orest在评论中指出的那样,第三方应用无法访问您应用的内部存储空间。 FLAG_GRANT_READ_URI_PERMISSION
用于通过ContentProvider
投放内容,而不是用于文件。
您可以将FileProvider
与FLAG_GRANT_READ_URI_PERMISSION
一起使用(请参阅this sample app)。或者,您可以将数据库复制到外部存储,然后共享该链接。这也可以让用户将备份保存到桌面或笔记本中。