【发布时间】:2020-11-02 00:11:34
【问题描述】:
我在缓存中有一个已验证确实存在的文件(我可以读取并打印出来)。在这个特定的例子中,它是一个 .csv 文件。我让选择器 UI 显示出来,但文件永远不会附加到电子邮件中。谁能发现我错过了什么?我现在尝试了几件事,但看不出有什么问题。
val file = File(parentContext.cacheDir, fileName)
Timber.i("Sharing file of size: ${file.length()}")
val fileURI = FileProvider.getUriForFile(parentContext.applicationContext, parentContext.packageName + ".provider", file)
Timber.i("The fileURI path is: ${fileURI.path}")
val intent = Intent(Intent.ACTION_SEND)
intent.putExtra(Intent.EXTRA_SUBJECT, "Share of $fileName")
intent.type = URLConnection.guessContentTypeFromName(fileName)
intent.data = fileURI
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
startActivity(parentContext, Intent.createChooser(intent, "Share File"), null)
木材线的输出是: 共享文件大小:1719 和 fileURI 路径是:/cache/myfilename-10-30-2020.csv,这样看起来是正确的。当我选择电子邮件时,我得到了电子邮件的主题,但没有附件。
【问题讨论】:
标签: android android-fileprovider android-sharing