首页 > 开发 > Android > 正文

有办法知道让Android chrome以full screen mode运行web app的intent吗?

2017-09-08 15:23:57  来源:网友分享

现在的chrome for android也能像safari那样以全屏模式运行web app了。
长久以来很多人不把web app当app的原因是那些address bar,controls,但现在这个问题有多元化的解决方案。不同于HTML5的document.element.requestFullScreen(),android上的chrome和ios上的Safari提供一种被称作installed web app的方式来实现全屏运行web app,并且在浏览器层提供优化。

如果你也尝试过这样运行你的web app,你就会明白现在web app与native app的体验差距有多小了。

我的问题是,如何让chrome以为我添加在主屏幕的快捷方式也是一个installed web app?换言之,我有可能知道那个调用chrome启用web app mode的intent吗?


参考资料:
https://developers.google.com/chrome/mobile/docs/intents
https://developers.google.com/chrome/mobile/docs/installtohomescreen
http://www.html5rocks.com/en/mobile/fullscreen/
http://stackoverflow.com/questions/14477928/how-to-open-a-website-using-safari-in-fullscreen-mode-for-ipad

解决方案

看到有部分朋友收藏了这个问题,我认为我有必要(再一次)将自己的最近的进展发表到这里(看来似乎我经常自问自答啊哈哈)。

目前做了的事情:

  1. 在google play找到了一个app叫做intent intercept,这个app可以捕获并显示intent。但是它的工作原理是需要用户在“选择打开程序”中选择这个intend intercept,然后它才能显示。也就是说,对于没有“选择打开程序”这个过程的intent,是无法用它来捕获的。

  2. 在手机桌面上启动installed web app,是没有这个步骤的。我把chrome卸载之后,打开桌面上的installed web app,会显示一个toast:“没有安装相应的应用”。重装chrome,有趣的事情发生了,installed web app打开了,但是是直接用chrome浏览器打开的,并没有全屏显示,也没有新的后台。

结论:

这个intent应该和普通用浏览器的开链接的intent差不多,只是无法知道参数。
另外这个intent是直接针对chrome的,如果不是所有的用户(或者大部分)都装了chrome,探求这个技术细节也没什么实际意义。我就到这里了,有其他大牛想继续探求的话可以直接回答哈哈,我一定会改采纳的~