我在分享下载的文件时遇到问题。我现在的代码是
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
或媒体商店,但这些似乎是下一个选项。
我现在的主要要求是获取文件并将其提供给用户。最简单的方法是什么?
答案 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所示。