日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android使用腾讯浏览服务X5内核

發(fā)布時(shí)間:2024/4/14 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android使用腾讯浏览服务X5内核 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

【前期準(zhǔn)備】

騰訊X5 jar包下載地址 [點(diǎn)擊打開]

本次完整DEMO源碼 [打開Github]

【集成步驟】

第一步:下載jar包添加到項(xiàng)目

第二步:添加權(quán)限

?

[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"?/>??
  • ?

    第三步:創(chuàng)建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;??
  • ??
  • /**?
  • ?*?Created?by?xiongwenwei@aliyun.com?
  • ?*?CreateTime:?2017/1/12?
  • ?*?Note:BaseApplication?
  • ?*/??
  • public?class?BaseApplication?extends?Application?{??
  • ??
  • ????private?static?BaseApplication?instance;??
  • ??
  • ????@Override??
  • ????public?void?onCreate()?{??
  • ????????super.onCreate();??
  • ??
  • ????????instance?=?this;??
  • ????????initTbs();??
  • ????}??
  • ??
  • ????private?void?initTbs()?{??
  • ????????//搜集本地tbs內(nèi)核信息并上報(bào)服務(wù)器,服務(wù)器返回結(jié)果決定使用哪個(gè)內(nèi)核。??
  • ????????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;??
  • ????}??
  • }??
  • 不要忘記添加:

    ?

    第三步:創(chuàng)建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>??
  • 第四步:創(chuàng)建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;??
  • ??
  • /**?
  • ?*?Created?by?xiongwenwei@aliyun.com?
  • ?*?CreateTime:?2017/1/13?
  • ?*?Note:騰訊瀏覽服務(wù)?
  • ?*/??
  • 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);//(這個(gè)對(duì)宿主沒什么影響,建議聲明)??
  • ????????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("打印日志","網(wǎng)頁加載失敗");??
  • ????????????}??
  • ????????});??
  • ????????//進(jìn)度條??
  • ????????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);??
  • ????}??
  • ??????
  • }??
  • ?

    【接入成功效果】

    上述代碼只是最基礎(chǔ)的集成,更多的效果,請(qǐng)移步官網(wǎng) [官網(wǎng)接入文檔]

    大概試了下,APP第一次啟動(dòng)好像用的還是自帶Webview,猜測是X5內(nèi)核還沒下載完吧

    接入成功,標(biāo)志:1.長按文字會(huì)出現(xiàn)"保存離線網(wǎng)頁" 2.復(fù)制英文會(huì)出現(xiàn)"翻譯" 3.復(fù)制文字會(huì)有水滴標(biāo)志

    ?

    ?

    ?

    總結(jié)

    以上是生活随笔為你收集整理的Android使用腾讯浏览服务X5内核的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。