我是靠谱客的博主 冷艳钻石,最近开发中收集的这篇文章主要介绍android webview vr,如何使用krpano在WebView上启用WebVR?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

我设法在Chrome和Firefox上使用WebVR运行krpano,并且纸板按钮可见并启用。但在运行时,它嵌入Android中的WebView中,并不显示纸板按钮。

但后来,我发现我的编译的apk与WebView显示我的其他设备上的卡纸按钮。我如何在手机上强制执行相同的行为,因为我知道它可以在我的android手机上使用Chrome和Firefox Mobile,但在使用我的WebView实现时无法使用?

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

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插件中启用WebVR假模式。但它不起作用。

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

最后

以上就是冷艳钻石为你收集整理的android webview vr,如何使用krpano在WebView上启用WebVR?的全部内容,希望文章能够帮你解决android webview vr,如何使用krpano在WebView上启用WebVR?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部