从 intent 在浏览器中打开 html 文件

Open html file in browser from intent

我想通过浏览器打开下载的 html 文件,方法是将它们传递到意图中并从我的 activity 中启动它们。

我知道有很多关于这个问题的帖子(例如 this)。

但是,none 这些方法似乎有效。

到目前为止我有:

File file = //myHTMLFile;
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
browserIntent.setData(Uri.fromFile(file));

我尝试将 Mimeypes 设置为 text/html、adding/removing 类别,甚至使用 multipe mimetypes 和额外的mimetype 标志,但 none 这些想法对我有用。

目前将打开一个 "default" 浏览器,但无法显示该文件。我想在 Chrome、Firefox 或其他流行的浏览器中打开文件。

也很奇怪:我从 Uri.fromFile() 收到的 Uri-String 不能被 Chrome 打开。

路径类似于 file:///data/data/myapp/website.html

文件本身位于 /storage/emulated/0/myapp/website.html。以 file:/// 作为前缀传递此值,Chrome 将显示该网站。

Uri.fromFile正确吗?

The path looks like file:///data/data/myapp/website.html.

假设 myapp 确实是您的应用程序 ID,它指向内部存储,没有其他应用程序可以访问它(例外:root 设备)。

Is Uri.fromFile correct?

Uri.fromFile() 工作正常,但您传入的 file 未正确创建。

除此之外,请记住浏览器不一定支持 file:// 方案,因此有些浏览器可能不支持。