在intent

时间:2015-06-20 22:57:48

标签: android android-intent mime-types android-browser

我想通过浏览器打开下载的html文件,将它们传递给一个intent并从我的活动中启动它们。

我知道有很多关于此问题的主题(例如this)。

然而,这些方法似乎都不起作用。

到目前为止,我有:

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

我尝试将 Mimeypes 设置为 text / html ,添加/删除类别,甚至使用multipe mimetypes和额外的mimetype标志,但这些想法都不适用于我。< / p>

目前是&#34;默认&#34;浏览器将打开,无法显示该文件。我想在Chrome,Firefox或其他流行的浏览器中打开文件。

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

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

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

Uri.fromFile是否正确?

1 个答案:

答案 0 :(得分:2)

  

该路径看起来像file:///data/data/myapp/website.html。

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

  

Uri.fromFile是否正确?

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

除此之外,请注意浏览器不必支持file://方案,因此有些可能不支持。