| android.webkit.WebChromeClient | com.tencent.smtt.sdk.WebChromeClient |
| android.webkit.WebHistoryItem | com.tencent.smtt.sdk.WebHistoryItem |
| android.webkit.WebIconDatabase | com.tencent.smtt.sdk.WebIconDatabase |
| android.webkit.WebResourceResponse | com.tencent.smtt.export.external.interfaces.WebResourceResponse |
| android.webkit.WebSettings | com.tencent.smtt.sdk.WebSettings |
| android.webkit.WebSettings.LayoutAlgorithm | com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm |
| android.webkit.WebStorage | com.tencent.smtt.sdk.WebStorage |
| android.webkit.WebView | com.tencent.smtt.sdk.WebView |
| android.webkit.WebViewClient | com.tencent.smtt.sdk.WebViewClient |
1. 导Jar包
去这个网址: http://x5.tencent.com/tbs/sdk.html ,看到Android SDK(完整版)
这个就是Jar包,下载回来放到你项目的lib文件夹,右键add as library即可。
2. 权限
在Manifest添加下面的权限
<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内核
在Application里面使用QbSdk.initX5Environment
进行初始化X5内核,第一个参数传入context
,第二个参数传入PreInitCallback
,不需要callback的可以传入null。
initX5Environment内部会创建一个线程向后台查询当前可用内核版本号,这个函数内是异步执行所以不会阻塞 App 主线程,这个函数内是轻量级执行所以对App启动性能没有影响,当App后续创建webview 时就可以首次加载x5内核了:
public class BaseApplicatiom extends Application {
@Override
public void onCreate() {
super.onCreate();
//初始化X5内核
QbSdk.initX5Environment(this, new QbSdk.PreInitCallback() {
@Override
public void onCoreInitFinished() {
//x5内核初始化完成回调接口,此接口回调并表示已经加载起来了x5,有可能特殊情况下x5内核加载失败,切换到系统内核。
}
@Override
public void onViewInitFinished(boolean b) {
//x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
Log.e("@@","加载内核是否成功:"+b);
}
});
}
}
4. 使用WebView