2017-08-07 3 views

Répondre

0

Voir cette page webview support list - html5.

Vous devez mettre à jour votre contrôle WebView sur ver 36. Mieux vaut utiliser un cadre chromé pour Android.

aussi: https://developer.android.com/guide/webapps/migrating.html

"Android 4.4 (niveau de l'API 19) introduit une nouvelle version de WebView qui est à base de chrome"

publique Voir onCreateView (LayoutInflater gonfleur, contenant ViewGroup, Bundle savedInstanceState) {

 View rootView = inflater.inflate(R.layout.fragment_main, container, false); 
     mWebRTCWebView = (WebView) rootView.findViewById(R.id.fragment_main_webview); 

     setUpWebViewDefaults(mWebRTCWebView); 

     mWebRTCWebView.clearCache(true); 

     //Loading page 
     mWebRTCWebView.loadUrl(main_url_address); 

     mWebRTCWebView.setWebChromeClient(new WebChromeClient() { 

      @Override 
      public void onPermissionRequest(final PermissionRequest request) { 
       Log.d(TAG, "onPermissionRequest"); 
       getActivity().runOnUiThread(new Runnable() { 
        @TargetApi(Build.VERSION_CODES.LOLLIPOP) 
        @Override 
        public void run() { 

         request.grant(request.getResources()); 

        } 
       }); 
      } 

     }); 

     return rootView; 
    } 



@TargetApi(Build.VERSION_CODES.LOLLIPOP) 
     private void setUpWebViewDefaults(WebView webView) { 
      WebSettings settings = webView.getSettings(); 

      // Enable Javascript 
      settings.setJavaScriptEnabled(true); 

      // Use WideViewport and Zoom out if there is no viewport defined 
      settings.setUseWideViewPort(true); 
      settings.setLoadWithOverviewMode(true); 

      // Enable pinch to zoom without the zoom buttons 
      settings.setBuiltInZoomControls(true); 

      // Allow use of Local Storage 
      settings.setDomStorageEnabled(true); 

      if(Build.VERSION.SDK_INT > Build.VERSION_CODES.HONEYCOMB) { 
       // Hide the zoom controls for HONEYCOMB+ 
       settings.setDisplayZoomControls(false); 
      } 

      // Enable remote debugging via chrome://inspect 
      if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 
       WebView.setWebContentsDebuggingEnabled(true); 
      } 

      webView.setWebViewClient(new WebViewClient()); 

      // AppRTC requires third party cookies to work 
      CookieManager cookieManager = CookieManager.getInstance(); 
      cookieManager.setAcceptThirdPartyCookies(mWebRTCWebView, true); 

      settings.setUserAgentString("mobile chrome android webgl"); 

      //JS INTERFACE 
      // mWebRTCWebView.addJavascriptInterface(new JS_INTERFACE(getContext()), "android"); 

     }