前言:本来android 自4.0之后已经优化了内核,改用了了chrome内核,兼容了大部分网页,这不第三方使用了一个直播,强烈要求使用腾讯X5的内核,说是兼容更好一点,既然这样,我就集成试试,下面教你快速集成:

image.png

然后导入:

image.png

image.png

这个官方demo都有,放在自己的项目下,然后再BaseApplication里面初始化一下:

image.png

附上代码:

private void initX5Web() {

QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {

@Override

public void onViewInitFinished(boolean arg0) {

//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。

MyLog.d("x5WebApp", " onViewInitFinished is " + arg0);

}

@Override

public void onCoreInitFinished() {

}

};

//x5内核初始化接口

QbSdk.initX5Environment(getApplicationContext(), cb);

}

然后写个webview继承腾讯X5的webview,记得千万别倒错包哦!

代码如下:

package com.hsz88.zbx.x5webview;

import android.annotation.SuppressLint;

import android.content.Context;

import android.util.AttributeSet;

import com.hsz88.zbx.base.BaseApplication;

import com.hsz88.zbx.constant.StaticConfig;

import com.hsz88.zbx.webview.DefaultJsObject;

import com.tencent.smtt.sdk.WebSettings;

import com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm;

import com.tencent.smtt.sdk.WebView;

import com.tencent.smtt.sdk.WebViewClient;

/**

Author: KuenCheung

Time: 2018/12/4

Description:

*/

public class X5WebView extends WebView {

private WebViewClient client = new WebViewClient() {

// 防止加载网页时调起系统浏览器

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

};

public X5WebView(Context arg0) {

super(arg0);

setBackgroundColor(85621);

}

@SuppressLint("SetJavaScriptEnabled")

@Deprecated

public X5WebView(Context arg0, AttributeSet arg1) {

super(arg0, arg1);

this.setWebViewClient(client);

// this.setWebChromeClient(chromeClient);

// WebStorage webStorage = WebStorage.getInstance();

initWebViewSettings();

this.getView().setClickable(true);

}

@SuppressLint("SetJavaScriptEnabled")

@Deprecated

private void initWebViewSettings() {

WebSettings webSetting = this.getSettings();

webSetting.setJavaScriptEnabled(true);

webSetting.setJavaScriptCanOpenWindowsAutomatically(true);

webSetting.setAllowFileAccess(true);

webSetting.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);

webSetting.setSupportZoom(true);

webSetting.setBuiltInZoomControls(true);

webSetting.setUseWideViewPort(true);

webSetting.setSupportMultipleWindows(true);

// webSetting.setLoadWithOverviewMode(true);

webSetting.setAppCacheEnabled(true);

// webSetting.setDatabaseEnabled(true);

webSetting.setDomStorageEnabled(true);

webSetting.setGeolocationEnabled(true);

webSetting.setAppCacheMaxSize(Long.MAX_VALUE);

// webSetting.setPageCacheCapacity(IX5WebSettings.DEFAULT_CACHE_CAPACITY);

webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);

// webSetting.setRenderPriority(WebSettings.RenderPriority.HIGH);

webSetting.setCacheMode(WebSettings.LOAD_NO_CACHE);

//设置默认的JS Object

addJavascriptInterface(new DefaultJsObject(BaseApplication.mContext), StaticConfig.JS_OBJECT);

}

}

然后,在自己的xml俩面进行使用,具体方法和webview一样,如下:

android:id="@+id/default_web"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="@color/white" />

其他操作和webview一样.

android x5内核使用方法,android 快速教你集成腾讯X5内核相关推荐

  1. Android 项目集成腾讯X5浏览器内核

    1.为什么要集成腾讯 X5 浏览器内核 肯定是事出有因,简单来说,JS代码写的不标准,与部分机型内嵌套的浏览器内核产生矛盾,出现底层(os)bug导致,不得不费事搞一个其它内核进行加载网页,具体原因. ...

  2. Android集成腾讯X5浏览器内核库

    Android集成腾讯X5浏览器内核库 一.相关配置 1. 相关地址 2.引入SDK 3. AndroidManifest配置 二.Application中初始化内核 三.代码实现 1. 自定义带Pr ...

  3. android颜色值的表示方法android:background=#FFFFFFFF的意思

    android颜色值的表示方法 android:background="#FFFFFFFF"的意思 Android中的颜色值是通过红(Red).绿(Green).蓝(Blue)三原 ...

  4. android的反调试方法,Android平台融合多特征的APP反调试方法与流程

    本发明涉及Android平台融合多特征的APP反调试方法,属于计算机与信息科学技术领域. 背景技术: 应用程序本身并不具备反调试的功能,但是动态调试是动态分析应用逻辑.动态脱壳等攻击方式所采取的必要手 ...

  5. android 开启子线程方法,android中开启子线程

    AndroidRuntime(673): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/ ...

  6. android中的add方法,Android中Fragment怎么addView?

    慕勒3428872 Fragment是Android honeycomb 3.0新增的概念,在Android--Fragment介绍.AndroidFragment使用.Android Fragmen ...

  7. android 矢量图片使用方法,Android中的矢量图

    概述 VectorDrawable是通过XML文件中的一系列点,线和曲线及其相关颜色信息定义的. 使用VectorDrawable的主要优点是图像可扩展性. 它可以缩放而不损耗显示质量,这意味着相同的 ...

  8. android 设置全屏方法,Android中设置全屏的方法

    在开发中,我们经常需要把我们的应用设置为全屏,这里有两种方式: 一是在代码中设置; 二是在配置文件中设置 一. 在代码中设置 public class BaseActivity extends Act ...

  9. Android解析xml的方法,Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

  10. android toolbar的使用方法,Android中Toolbar的基本使用

    Android的标题栏是很重要的一个模块,App是否易用很大一部分要看标题栏.写这个博客的时候刚发现谷歌推出了一种新的标题栏实现方式. 它相对于以前的ActionBar来说,最大的变化是开发者可以在标 ...

最新文章

  1. 泛型推断类型不符合上限
  2. Thrift架构~thrift中间语言的认识(只有它什么都不是,它才有可能什么都是)
  3. 为什么倒排索引不采用zlib这样的字典压缩算法——因为没法直接使用啊
  4. Linux. C语言中else,if else用法详解,C语言if else用法完全攻略
  5. 17、Flask实战第17天:Flask-cookie
  6. Oracle USE_LARGE_PAGES初始化参数
  7. 英特尔的新方向:称王集成计算设备领域
  8. 线性查找与二分查找的平均查找次数的比较
  9. 【机器人】大四本科生发明 自动写作论文的机器人
  10. 网页被劫持了该怎么办?dns被劫持如何修复?网页劫持介绍
  11. 爬取股票收盘价,计算神奇九转
  12. ios开发——实用技术篇Block/KVO/通知/代理
  13. Apache apollo 配置说明及用户名和密码管理
  14. Spring MVC各组件近距离接触--下下--05
  15. 蚂蚁借呗每月等额计算方式
  16. 如何使用按图搜索(拍立淘)获取商品数据
  17. Github星标90K?京东架构师一篇讲明白百亿级并发系统架构设计
  18. 计算机保研夏令营预推免面试经验(吉林大学+哈工大威海+北京理工医工融合
  19. Excel用vba自动生成word
  20. 【深度学习人类语言处理】3 语音转换——类别(特征分解、直接转换)、语音分离(评价指标、深度聚类、PIT、TaskNet)

热门文章

  1. Shiro自定义Token
  2. shiro会话监听_shiro session 监听
  3. 2018数学建模A题优秀论文:高温作业专用服装设计
  4. 软件著作权申请文档模版
  5. opencv小球与颜色识别
  6. 【读书笔记】推荐系统实践-常见推荐算法及应用
  7. OneDrive更换要同步文件夹
  8. 泰安市建筑物矢量数据(Shp格式+带高度)
  9. linux英文考试题,linux考试试题附答案
  10. html中图片动态效果代码,动态网页设计代码 网页制作动态图片效果源代码