安卓部分机型WebView 加载SVG图片不显示(腾讯X5服务webview浏览器)

在一个页面中的H5使用SVG进行绘图,但是在VIVO和OPPO手机都无法显示,最后网上查了一堆资料,各种Settings设置,但是还是不显示,感觉还是SVG兼容性问题,OPPO和VIVO room做的也差。最后选择了使用腾讯X5服务webview浏览器。

下载地址:http://x5.tencent.com

腾讯X5对相当于优化了安卓浏览器内核,对SVG适配,视频播放,文件显示都做了适配,所以除了普通的网页加载,还可以进行一些其他功能的拓展开发。

使用过程:

1. 在官网下载sdk,导入jar包 和so文件,注意一定要导入so文件

2. 权限申请

<!-- 申请腾讯X5所需权限 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

3.X5 WebView 使用

<com.tencent.smtt.sdk.WebView
        android:id="@+id/tencent_webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

WebView一定是com.tencent.xxx的路径

代码使用

        tencent_webview = (WebView) findViewById(R.id.tencent_webview);  
        tencent_webview.loadUrl(url);    
        WebSettings webSettings = tencent_webview.getSettings();    
        webSettings.setJavaScriptEnabled(true);    
        tencent_webview.setWebViewClient(new WebViewClient() {    
            @Override    
            public boolean shouldOverrideUrlLoading(WebView view, String url) {    
                view.loadUrl(url);    
                return true;    
            }    
        });    
WebView 的settings 和 WebViewClient 都是 com.tencent.xxx 路径下的,再使用WebView加载各种东西的时候就不很少出现兼容性问题了。




欢迎扫码关注公众号,每天定点推送优质技术文章


猜你喜欢

转载自blog.csdn.net/jia635/article/details/80196328