0

Chrome と Firefox で WebVR を使用して krpano を実行すると、段ボールのボタンが表示され、有効になります。しかし、Android の WebView 内に埋め込んで実行すると、段ボールのボタンが表示されません。

しかし、その後、WebView を使用してコンパイルした apk が、他のデバイスに段ボールのボタンを表示していることがわかりました。AndroidフォンのChromeとFirefox Mobileでは動作することがわかっていますが、WebView実装を使用している場合は動作しないため、携帯電話で同じ動作を強制するにはどうすればよいですか?

どのような構成を設定する必要がありますか? または、実際に実行できる場合でも、一部のデバイスまたはデバイスの裁量だけでなく、サポートできるすべての Android デバイスで WebVR が有効になるようにシミュレートしますか?

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、または他のデバイスによる他の実装でのみ成功すると推測しています。

4

1 に答える 1

3

krpanoで使用される WebVr プラグインには WebGL が必要です。これは、 Android L Developer Previewの後にのみ Android WebView で出荷されます。
この制限に関する詳細は、chrome の開発者ページで提供されています: https://developer.chrome.com/multidevice/webview/overview
このため、段ボールのアイコンは Android WebView に表示されません。
prelollipop デバイスをサポートする必要がある場合は、XWalk プロジェクトのXWalkViewを使用できます。リンク: https://crosswalk-project.org/documentation/embedding_crosswalk.html .

追加のヘルプとして、krpano フォーラムでの xwalk の埋め込みに関する私のディスカッションへのリンクを次に示します

于 2015-12-15T11:00:20.693 に答える