如何共享应用程序的会议室数据库



我想将我的应用程序的内部数据库作为SQLite文件共享
这是我天真的尝试。它不会引发任何异常,但也永远不会成功,这取决于我选择共享的应用程序,我得到";不支持的附件";(Telegram(;上载不成功";(驱动器(;无法附加文件"(Gmail(,…

private fun shareData() {
val dbPath = application.getDatabasePath(LOCAL_DB_NAME).path
try {
val shareIntent = Intent()
shareIntent.action = Intent.ACTION_SEND
shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.parse(dbPath))
shareIntent.type = "application/x-sqlite3"
startActivity(Intent.createChooser(shareIntent, "Share Data"))
} catch (e: Exception) {
e.printStackTrace()
}
}

这通常是一个无效的Uri。即使你切换到Uri.forFile(),也无济于事,因为在应用程序之间传递file://Uri已经被禁止好几年了。

使用FileProvider在应用程序之间共享文件。FWIW,我在这本免费书的这一部分涵盖FileProvider。另请参阅文档、文档和文档。

最新更新