Does android webview browsers support html5 features?

前端 未结 4 2146
失恋的感觉
失恋的感觉 2020-12-07 17:07

I have HTML5 based web application i want it to integrate with WebView ,So does android webview browsers support html5 features?

相关标签:
4条回答
  • 2020-12-07 17:30

    Thanks @theomega I used the following way to enable using light touches to make a selection and activate mouseovers.

    try {
        WebSettings.class.getMethod("setLightTouchEnabled", new Class[]{Boolean.TYPE});
    } catch (SecurityException e) {         
        e.printStackTrace();
    } catch (NoSuchMethodException e) {         
        e.printStackTrace();
    } 
    
    0 讨论(0)
  • 2020-12-07 17:32

    On your android browser open this link : http://html5test.com it will give you all the information that you need : Parsing rules , Canvas ,video,Audio,elements,forms,webapp...

    0 讨论(0)
  • 2020-12-07 17:34

    A WebView supports them, but you have to turn them on. I use the following code which turns on every features which are available. This is necessary because Application Caches for example are not supported on All Android-Versions:

        wv = (WebView) findViewById(R.id.webview);
        WebSettings ws = wv.getSettings();
    
        ws.setJavaScriptEnabled(true);
        ws.setAllowFileAccess(true);
    
    
        if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.ECLAIR) {
            try {
                Log.d(TAG, "Enabling HTML5-Features");
                Method m1 = WebSettings.class.getMethod("setDomStorageEnabled", new Class[]{Boolean.TYPE});
                m1.invoke(ws, Boolean.TRUE);
    
                Method m2 = WebSettings.class.getMethod("setDatabaseEnabled", new Class[]{Boolean.TYPE});
                m2.invoke(ws, Boolean.TRUE);
    
                Method m3 = WebSettings.class.getMethod("setDatabasePath", new Class[]{String.class});
                m3.invoke(ws, "/data/data/" + getPackageName() + "/databases/");
    
                Method m4 = WebSettings.class.getMethod("setAppCacheMaxSize", new Class[]{Long.TYPE});
                m4.invoke(ws, 1024*1024*8);
    
                Method m5 = WebSettings.class.getMethod("setAppCachePath", new Class[]{String.class});
                m5.invoke(ws, "/data/data/" + getPackageName() + "/cache/");
    
                Method m6 = WebSettings.class.getMethod("setAppCacheEnabled", new Class[]{Boolean.TYPE});
                m6.invoke(ws, Boolean.TRUE);
    
                Log.d(TAG, "Enabled HTML5-Features");
            }
            catch (NoSuchMethodException e) {
                Log.e(TAG, "Reflection fail", e);
            }
            catch (InvocationTargetException e) {
                Log.e(TAG, "Reflection fail", e);
            }
            catch (IllegalAccessException e) {
                Log.e(TAG, "Reflection fail", e);
            }
        }
    
    0 讨论(0)
  • 2020-12-07 17:47

    You didn't specify which features you're looking for exactly,
    but Android (and iOS) use Webkit. So yes.

    0 讨论(0)
提交回复
热议问题