通过意图共享sqlite文件

时间:2016-02-19 20:32:07

标签: android sqlite file android-intent

在我的应用程序中,我希望用户能够备份他们的数据库,因此我提供了一个选项,可以通过意图将db文件上传到某个云存储应用程序。

这是我当前的代码(在Scala中),它不起作用:

0

文件选择器已启动,但可用的应用程序实际上都没有接受文件说它的格式错误等。为什么会发生这种情况?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

正如Orest在评论中指出的那样,第三方应用无法访问您应用的内部存储空间。 FLAG_GRANT_READ_URI_PERMISSION用于通过ContentProvider投放内容,而不是用于文件。

您可以将FileProviderFLAG_GRANT_READ_URI_PERMISSION一起使用(请参阅this sample app)。或者,您可以将数据库复制到外部存储,然后共享该链接。这也可以让用户将备份保存到桌面或笔记本中。