我需要在我的 webview 中显示 WebGL 图形。有什么方法可以修改 Android WebView 以启用 WebGL。如果是,如何?
5 回答
在 Android Lollipop 之前的 WebViews 中不支持 WebGL。在 KitKat 中,Android 切换到 Chromium 作为本机 WebView 实现,但它被锁定为 Chromium 33,没有 WebGL。在 Lollipop 中,WebView 通过 Play 商店更新,现在支持 WebGL。(来源:https ://developer.chrome.com/multidevice/webview/overview )
试图扩展 WebView 以支持它几乎是不可能的。
您可能会考虑的一件事是使用 CSS 3D 转换而不是 WebGL,Android ICS 和转发都支持这些转换,请参阅http://caniuse.com/#feat=transforms3d
WebGL is not supported in current Android webview, you can however use crosswalk-project which is a web runtime that supports WebGL and package it in a android app along with your WebGL app. The latest Intel XDK supports building Android apps with crosswalk runtime.
您可以使用 Chrome Beta 应用程序或 Firefox Beta 应用程序在新的 Android 设备上查看 WebGL。我测试过并且可以运行的唯一设备是运行 Android 4.2.2 的 Asus Nexus 7 平板电脑。
运行 Android 4.1.2 的摩托罗拉 Razr 不支持带有 google Chrome Beta 的 WebGL。
不确定这是否直接有帮助..但仅供参考。
尽管无法为 Android WebView 启用 WebGL,但可以选择让原生应用程序使用 WebGL 使用 Ludei (www.ludei.com) 的 CocoonJS 进行渲染。他们甚至在 Google Play 中有一个演示应用程序来展示一些已知的 WebGL 演示,即使在 Android 2.3 设备上也可以运行。
https://play.google.com/store/apps/details?id=com.ludei.demos.webgl
甚至在OUYA上运行!
I have chrome version 28.0 on OS 4.2.2 WebGl is not enabled by default you need to enable it by typying chrome://flags/ in seach bar just the way shwn in pic below
Once you have enabled web gl relaunch chrome and you will be able to run most of three.js experiments . I have shared screenshots for few :-
I also tried everything on webview but I was unable to set webgl flags. Probably it is not possible to use webgl in webviews .