Android共享文件

时间:2016-04-23 13:03:35

标签: android

我在分享下载的文件时遇到问题。我现在的代码是

Intent intent = new Intent(Intent.ACTION_SEND);
intent.setDataAndType(uri, "text/html");
intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
startActivity(intent);

该文件位于外部缓存目录file:///storage/emulated/0/Android/data/lt.segfoltas.breathcount/cache/temp_chart.html

选择器打开,但没有一个应用程序可以处理它。 ES资源管理器给我“找不到文件”,其他人以类似的方式失败。我使用DownloadManager,但我通过POST获取此文件。我没有尝试使用FileProvider或媒体商店,但这些似乎是下一个选项。

我现在的主要要求是获取文件并将其提供给用户。最简单的方法是什么?

2 个答案:

答案 0 :(得分:2)

使用以下代码更新您的代码: -

clicked()

答案 1 :(得分:1)

从战术上讲,将代码更改为:

const-string v1, "12345678"

const-string v2, "12345678 transaction"

invoke-virtual {v0, v1, v2}, Ljava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;

关注the documentation for ACTION_SEND

战略上,自sharing files is being discontinued以来,添加a FileProvider to serve your file,如the sharing files documentation所示。