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

Android 从intent在浏览器中打开html文件,android,android-intent,mime-types,android-browser,Android,Android Intent,Mime Types,Android Browser,我想通过浏览器打开下载的html文件,将它们传递到一个intent中,并从我的活动中启动它们 我知道关于这个问题有十几条线索(例如) 然而,这些方法似乎都不起作用 到目前为止,我已经: File file = //myHTMLFile; Intent browserIntent = new Intent(Intent.ACTION_VIEW); browserIntent.addCategory(Intent.CATEGORY_BROWSABLE); browserIntent.setData(

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

我知道关于这个问题有十几条线索(例如)

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

到目前为止,我已经:

File file = //myHTMLFile;
Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.addCategory(Intent.CATEGORY_BROWSABLE);
browserIntent.setData(Uri.fromFile(file));
我尝试设置mimetypestext/html,添加/删除类别,甚至使用multipe-mimetypes和extra-mimetype标志,但这些想法对我都不起作用

当前将打开一个“默认”浏览器,该浏览器无法显示文件。我想在Chrome、Firefox或其他流行浏览器中打开文件

同样奇怪的是:我从Uri.fromFile()收到的Uri字符串不能被Chrome打开

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

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

Uri.fromFile正确吗?

这条路看起来像file:///data/data/myapp/website.html.

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

Uri.fromFile正确吗

Uri.fromFile()
工作正常,但是您要传递的
文件没有正确创建


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

感谢您的快速回答!我现在正在外部存储器中创建文件。有没有其他方法可以通过intent直接在Chrome中打开文件?在复制file:///-path 在Chrome中,它将直接加载website@Frame91:“我现在正在外部存储器中创建文件”--根据您的问题,这不是
file
所指的内容。“有没有其他方法可以通过intent直接在Chrome中打开文件?”——我不知道Chrome支持哪些方案,这些方案可能会在Chrome的未来版本中发生变化
http
https
似乎是很好的选择,如果Chrome支持
content
,用于
FileProvider
或您自己的
ContentProvider
,那就太好了。我现在解决了外部存储问题,这就是我的意思。我有一个小错误,现在URI创建正确了。谢谢你指出错误!好。。。经过进一步调查。。。大多数浏览器不接受file://schemes.。这是一个小问题,因为我想实现一个离线rss阅读器(预取),但仍然使用外部浏览器。因为我找不到任何方法来解决我的问题,我会接受你的答案。目前无法支持文件//的功能。。。我觉得有点悲哀