首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用krpano在WebVR上启用WebView?

如何使用krpano在WebVR上启用WebView?
EN

Stack Overflow用户
提问于 2015-10-21 11:31:06
回答 1查看 2.4K关注 0票数 0

我成功地在Chrome和火狐上用WebVR运行了krpano,而且硬纸板按钮是可见的和启用的。但是,在运行时,它嵌入到安卓系统的WebView中,却没有显示硬纸板按钮。

但后来,我发现我用WebView编译的apk在我的另一个设备上显示了硬纸板按钮。我将如何在我的手机上强制同样的行为,因为我知道它在我的安卓手机上的Chrome和Firefox中工作,但在使用我的WebView实现时却不能工作。

我必须设置什么配置?或者模拟,以确保所有能够支持它的安卓设备都启用了WebVR,而不仅仅是对某些设备或设备的判断,即使它真的可以运行它?

代码语言:javascript
复制
static final String BASE = "http://app.imaginarydomain.com";
static final Pattern PATH_PATTERN = Pattern.compile(Pattern.quote(BASE) + "/(.*)");

...

WebSettings webSettings = webView.getSettings();
webSettings.setBlockNetworkLoads(false);
webSettings.setJavaScriptEnabled(true);
webView.setWebViewClient(new TestWebViewClient());
webView.loadUrl(BASE + "/tour.html");

...

class TestWebViewClient extends WebViewClient {
    @Override
    public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
        Matcher matcher = PATH_PATTERN.matcher(url);
        if (matcher.matches()) {
            String asset = "sample-tour-cardboard/" + matcher.group(1);
            try {
                InputStream is = getAssets().open(asset);
                String extension = MimeTypeMap.getFileExtensionFromUrl(url);
                String type = "application/octet-stream";
                if (extension != null) {
                    type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension);
                }
                return new WebResourceResponse(type, "UTF-8", is);
            } catch (IOException e) {
                Log.e("ERROR!", "Asset loading error: " + asset, e);
            }
        }
        return null;
    }
}

我还试图在krpano WebView插件中启用WebView假模式。但不起作用。

我猜想,WebVR插件正在检查WebView上下文中的某些内容,并且该检查只在Chrome、Firefox或其他设备的其他实现上成功。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-12-15 11:00:20

krpano使用的WebVr插件需要WebGL,只有在Android开发者预览之后才会在WebView中发布。

有关此限制的更多信息可在chrome:https://developer.chrome.com/multidevice/webview/overview的开发人员页面上提供。

由于这个原因,纸板图标不会显示在Android WebView中。

如果您需要支持预流行设备,可以使用XWalk项目中的XWalkView。链接:crosswalk.html .

为了获得更多帮助,下面是我关于在krpano论坛上嵌入xwalk的讨论的链接:http://krpano.com/forum/wbb/index.php?page=Thread&postID=61064

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33258199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档