我想通过浏览器打开下载的html文件,将它们传递给一个意图,并从我的活动开始。从意图的浏览器中打开html文件
我知道有十几个关于这个问题的线程(例如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 MIME类型和额外的MIME类型标志,但没有这些想法就职于我。
目前一个“默认”浏览器将打开,无法显示该文件。我想在Chrome,Firefox或其他常用浏览器中打开文件。
也怪异:我从Uri.fromFile()收到的Uri字符串不可由Chrome打开。
该路径看起来像file:///data/data/myapp/website.html。
该文件本身位于/storage/emulated/0/myapp/website.html。以file:///为前缀传递此值,Chrome将显示该网站。
Uri.fromFile是否正确?
感谢您的快速回答!我现在正在外部存储器中创建文件。有没有其他方法可以通过意向直接在Chrome中打开文件?当直接在Chrome中复制文件:/// - path时,它将加载网站 – Frame91
@ Frame91:“我现在在外部存储中创建文件” - 这不是“文件”指向的内容,基于你有什么问题。 “有没有其他方法可以通过意向直接在Chrome中打开文件?” - 我不知道Chrome支持哪些方案,并且这些方案可能会在未来版本的Chrome中发生变化。 'http'和'https'看起来是很有价值的候选人,如果Chrome支持'content',用于'FileProvider'或你自己的'ContentProvider',那将会很不错。 – CommonsWare
我现在解决了外部存储问题,这就是我的意思。我有一个小错误,现在URI已正确创建。感谢您指出错误! – Frame91