2016-02-12 64 views
1

我想在Android Webview中查看3D模型。 许多Android智能手机都能够通过WebView看到3D模型,但是,一款产品,名为'Galaxy Note Pro 12.2'无法看到。我想在Android Webview中查看3D模型

首先,我给你一些选择。

  1. 我的铬(铬)版本是48.0.2564.109。

  2. Android版本是5.0.2(棒棒糖)

  3. 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(); 
    } 
} 

我觉得很简单的代码。

我已经设置了权限。 当我使用其他便携式产品(如银河智能手机)时,没有问题发生。但是,只有上面的产品不能。 此外,我已经检查了chrome://标记 我读过其他问题,并且做了所有事情,但是我的问题没有解决。

我该怎么办? 有没有遗漏的检查?

回答

0

Webview没有很好的支持该设备,我重申使用XWalkView的CrossWalk来取代webview。 XWalkView支持webview中不支持的设备。

这是我的一个answer关于如何在XWalkView中使用three.js渲染3D模型。

希望它有帮助。