生活随笔
收集整理的这篇文章主要介绍了
Android使用腾讯浏览服务X5内核
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
【前期准备】
腾讯X5 jar包下载地址 [点击打开]
本次完整DEMO源码 [打开Github]
【集成步骤】
第一步:下载jar包添加到项目
第二步:添加权限
[java] view plaincopy
<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" />
第三步:创建BaseApplication.class
[java] view plaincopy
import android.app.Application; import com.tencent.smtt.sdk.QbSdk; import com.tencent.smtt.sdk.TbsListener; import com.xiong.tbs_x5.utils.LogUtil; public class BaseApplication extends Application { private static BaseApplication instance; @Override public void onCreate() { super.onCreate(); instance = this; initTbs(); } private void initTbs() { QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() { @Override public void onViewInitFinished(boolean arg0) { LogUtil.i("onViewInitFinished is " + arg0); } @Override public void onCoreInitFinished() { } }; QbSdk.setTbsListener(new TbsListener() { @Override public void onDownloadFinish(int i) { LogUtil.i("onDownloadFinish"); } @Override public void onInstallFinish(int i) { LogUtil.i("onInstallFinish"); } @Override public void onDownloadProgress(int i) { LogUtil.i("onDownloadProgress:" + i); } }); QbSdk.initX5Environment(getApplicationContext(), cb); } public static BaseApplication getInstance() { return instance; } } 不要忘记添加:
第三步:创建tbs_activity.xml
[java] view plaincopy
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <com.tencent.smtt.sdk.WebView android:id="@+id/webView" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" /> </LinearLayout> 第四步:创建TbsActivity.class
[java] view plaincopy
import android.graphics.PixelFormat; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.KeyEvent; import android.view.WindowManager; import com.tencent.smtt.sdk.WebChromeClient; import com.tencent.smtt.sdk.WebSettings; import com.tencent.smtt.sdk.WebView; import com.tencent.smtt.sdk.WebViewClient; import com.xiong.tbs_x5.R; public class TbsActivity extends AppCompatActivity{ private com.tencent.smtt.sdk.WebView webView; private String url = "http://3g.qq.com"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().setFormat(PixelFormat.TRANSLUCENT); getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); initView(); loadUrl(url); } private void initView() { webView = (com.tencent.smtt.sdk.WebView) findViewById(R.id.webView); } private void loadUrl(String url) { WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webView.loadUrl(url); webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } @Override public void onReceivedError(WebView var1, int var2, String var3, String var4) { Log.i("打印日志","网页加载失败"); } }); webView.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { Log.i("打印日志","加载完成"); } } }); } @Override protected void onDestroy() { super.onDestroy(); if (webView != null) webView.destroy(); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { if (webView != null && webView.canGoBack()) { webView.goBack(); return true; } return super.onKeyDown(keyCode, event); } return super.onKeyDown(keyCode, event); } }
【接入成功效果】
上述代码只是最基础的集成,更多的效果,请移步官网 [官网接入文档]
大概试了下,APP第一次启动好像用的还是自带Webview,猜测是X5内核还没下载完吧
接入成功,标志:1.长按文字会出现"保存离线网页" 2.复制英文会出现"翻译" 3.复制文字会有水滴标志
总结
以上是生活随笔为你收集整理的Android使用腾讯浏览服务X5内核的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。