我想在Android Webview中查看3D模型

我想在Android Webview中查看3D模型,android,google-chrome,Android,Google Chrome,我想在Android Webview中查看3D模型。 很多安卓智能手机都可以通过WebView看到3D模型,但是一款名为“Galaxy Note Pro 12.2”的产品无法看到 首先,我给你一些选择 我的Chrome(Chrome)版本是48.0.2564.109 Android版本是5.0.2(棒棒糖) WebGL是最新版本 现在,我给你一些示例代码 import android.os.Build; import android.os.Bundle; import android.suppo

我想在Android Webview中查看3D模型。 很多安卓智能手机都可以通过WebView看到3D模型,但是一款名为“Galaxy Note Pro 12.2”的产品无法看到

首先,我给你一些选择

  • 我的Chrome(Chrome)版本是48.0.2564.109

  • Android版本是5.0.2(棒棒糖)

  • WebGL是最新版本

  • 现在,我给你一些示例代码

    import android.os.Build;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.webkit.CookieManager;
    import android.webkit.WebSettings;
    import android.webkit.WebView;
    
    public class MainActivity extends AppCompatActivity {
    
    private WebView mWebView;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        mWebView = (WebView) findViewById(R.id.activity_main_webview);
    
        WebSettings webSettings = mWebView.getSettings();
        webSettings.setJavaScriptEnabled(true);
        webSettings.setSupportZoom(true);
        webSettings.setBlockNetworkImage(false);
        webSettings.setLoadsImagesAutomatically(true);
        webSettings.setCacheMode(WebSettings.LOAD_NO_CACHE);
        webSettings.setDomStorageEnabled(true);
        webSettings.setAllowContentAccess(true);
        webSettings.setDatabaseEnabled(true);
        webSettings.setAppCacheEnabled(true);
    
        if(Build.VERSION.SDK_INT >= 19){
            WebView.setWebContentsDebuggingEnabled(true);
        }
    
        webSettings.setUserAgentString("Mozilla/5.0 (Linux; Android 5.1.1; Nexus 5 Build/LMY48B; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/43.0.2357.65 Mobile Safari/537.36");
        webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        CookieManager cookieManager = CookieManager.getInstance();
        cookieManager.setAcceptCookie(true);
        cookieManager.setAcceptThirdPartyCookies(mWebView, true);
        mWebView.loadUrl("http://threejs.org/examples/#webgl_multiple_renderers");
    }
    
    @Override
    public void onBackPressed() {
        if(mWebView.canGoBack()) {
            mWebView.goBack();
        } else {
            super.onBackPressed();
        }
    }
    
    我觉得代码很简单

    我已经设置了权限。 当我使用其他便携式产品(如galaxy智能手机)时,不会发生任何问题。但是,只有以上产品不能。 另外,我已经检查了chrome://flags 我阅读其他问题,做任何事情,但我的问题解决不了

    我该怎么办?
    是否缺少检查?

    设备不支持Webview,建议使用的XWalkView替换Webview。XWalkView很好地支持webview中不支持的设备

    下面是关于如何在XWalkView中使用three.js渲染三维模型的一个示例


    希望有帮助。

    设备不支持Webview,我建议使用的XWalkView替换Webview。XWalkView很好地支持webview中不支持的设备

    下面是关于如何在XWalkView中使用three.js渲染三维模型的一个示例

    希望能有帮助