android - Android意图选择器工作但不发送文件
问题描述
所以我试图在我的应用程序中共享一个文本文件。选择器出现并允许我选择一个应用程序,但无论我选择与什么共享文件,总会有某种错误阻止文件实际发送。例如,Gmail 显示“无法附加文件”,而 Facebook Messenger 显示“错误:出了点问题。请稍后再试”。这是我的代码:
val filePath = "/data/user/0/com.wellerstudios.doctrinalmastery/files/backup/Lists.txt"
val file = File(filePath)
val fileUri: Uri = FileProvider.getUriForFile(context!!, "com.wellerstudios.fileprovider", file)
Toast.makeText(context, fileUri.toString(), Toast.LENGTH_SHORT).show()
val intent: Intent? = Intent(Intent.ACTION_SEND)
.setType("text/*")
.putExtra(Intent.EXTRA_STREAM, fileUri)
.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
val chooser = Intent.createChooser(intent, "Share via...")
startActivity(chooser)
并且文件提供程序和文件路径 xml 文件都与此代码匹配,所以不是这样。其他人似乎使用相同(或相似)的代码并让它工作,但我的没有,我不知道为什么。此外,值得注意的是,我确实对文件路径使用了其他形式,而不是通过字符串指定它,但我正在试验它,看看这是否能解决我的问题。
解决方案
推荐阅读
- r - 如何根据其他列中的值计算列中唯一值的数量
- python - 即使 glBufferData 中的数据发生变化,点位置也不会改变
- pyspark - 在 Pyspark UDF 中反序列化 Protobuf 对象时出错
- reactjs - React 17 和 webpack 5 在 IE11 中不起作用
- json - 如何在 JSON 输出中将空单元格保持为空而不是忽略单元格(Vue-XLSX)
- apache-spark - Pyspark 中的指数函数
- javascript - Node.js:使用数据类型的问题
- android-studio - 为什么当我设置图像时应用程序没有成功启动但它在没有图像/徽标的情况下工作?
- android - 如何在折线图中显示条目的图标
- javascript - Googlesheets api在单元格值中插入'