Android 集成 X5 WebView
AndroidManifest.xml
1.添加jar包
在libs目录下添加sdk中的jar包
将Demo中的jniLibs目录复制到 main文件夹下
2.需要添加权限
<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.build.gradle 添加配置
ndk {abiFilters "armeabi", "armeabi-v7a", "x86", "mips"}
4.页面
<com.tencent.smtt.sdk.WebViewandroid:id="@+id/web_view"android:layout_width="fill_parent"android:layout_height="fill_parent"android:paddingLeft="5dp"android:paddingRight="5dp" />
5.Activity
package com.sykj.article.articlesystem;import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;import com.tencent.smtt.sdk.QbSdk;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;public class MainActivity extends AppCompatActivity {private WebView webView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.web_view);initX5WebView();webView = findViewById(R.id.web_view);//防止跳转到系统浏览器webView.setWebViewClient(new WebViewClient() {@Overridepublic boolean shouldOverrideUrlLoading(WebView view, String url) {loadurlLocalMethod(view, url);return false;}});webView.loadUrl("http://www.baidu.com");}public void loadurlLocalMethod(final WebView webView, final String url) {new Thread(new Runnable() {@Overridepublic void run() {webView.loadUrl(url);}});}private void initX5WebView() {//搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {@Overridepublic void onViewInitFinished(boolean arg0) {if (arg0) {Log.d("ArticleSystem", "X5 内核加载成功");} else {Log.d("ArticleSystem", "X5 内核加载失败");}}@Overridepublic void onCoreInitFinished() {}};//x5内核初始化接口QbSdk.initX5Environment(getApplicationContext(), cb);}
}
完整配置
AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.sykj.article.articlesystem"><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" /><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application></manifest>
web_view.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><com.tencent.smtt.sdk.WebViewandroid:id="@+id/web_view"android:layout_width="fill_parent"android:layout_height="fill_parent"android:paddingLeft="5dp"android:paddingRight="5dp" /></android.support.constraint.ConstraintLayout>
build.gradle
apply plugin: 'com.android.application'android {compileSdkVersion 27defaultConfig {applicationId "com.sykj.article.articlesystem"minSdkVersion 15targetSdkVersion 27versionCode 1versionName "1.0"testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"ndk {abiFilters "armeabi", "armeabi-v7a", "x86", "mips"}}buildTypes {release {minifyEnabled falseproguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'}}
}dependencies {implementation fileTree(include: ['*.jar'], dir: 'libs')implementation 'com.android.support:appcompat-v7:27.1.1'implementation 'com.android.support.constraint:constraint-layout:1.1.3'testImplementation 'junit:junit:4.12'androidTestImplementation 'com.android.support.test:runner:1.0.2'androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'implementation files('libs/tbs_sdk_thirdapp_v3.6.0.1352_43618_sharewithdownload_withoutGame_obfs_20180918_120327.jar')
}
Android 集成 X5 WebView相关推荐
- Android Tencent X5 WebView 集成封装
Android Tencent X5 WebView 集成封装 Cookie管理.进度监听.适配8.1系统等策略 这篇文章的目标就是怎么样快速封装X5WebView,如何有效的同步以及管理Cookie ...
- Android Tencent X5 WebView 集成详解
Android X5WebView 详细集成步骤 本文意在了解掌握并快速集成腾讯X5系统内核,更好的提高Android与H5在应用上的渲染交互效果:X5web内核下该如何有效的管理cookie:X5w ...
- android 集成x5内核时 本地没有,腾讯浏览服务-接入文档
三.SDK集成步骤 1. 第一步 下载 SDK jar 包放到工程的libs目录下,将源码和XML里的系统包和类替换为SDK里的包和类,具体对应如下: 系统内核 SDK内核 android.webki ...
- Android 使用腾讯X5 Webview浏览器拍照或从相册上传图片
最近在项目开发中,需要使用WebView上传文件.默认情况下情况下,使用Android的WebView是不能够支持上传文件的. 经过查找资料,得知需要重新WebChromeClient,根据选择到的文 ...
- Android集成腾讯X5浏览器内核库
Android集成腾讯X5浏览器内核库 一.相关配置 1. 相关地址 2.引入SDK 3. AndroidManifest配置 二.Application中初始化内核 三.代码实现 1. 自定义带Pr ...
- android studio中使用x5 webview来读写cookies的问题
本人新手,刚接触AS也没有多久,记录下两个问题. 1. 怎么在android studio中写入cookies 把写入cookies的动作放在了主界面的onCreate事件中了,看了腾讯的说明,说是要 ...
- 集成google webview(android.7.1)
因项目需求,需要集成google webview, 查看了一下代码大概如下: 第一步,把要集成的googlewebview先集成到系统里面,步骤先简单 ,在项目中增加包名,android.mk中写一个 ...
- 简单的使用腾讯X5内核浏览器替代Android原生的WebView
目录 简单的使用腾讯X5内核浏览器替代Android原生的WebView 第一步:X5官网下载SDK,引入到AndroidStudio中 第二步:如果是64位CPU手机,则需要引入一个so(liblb ...
- Android平台以WebView方式集成H5+SDK和支付宝登录授权插件开发思路总结
首先附上Demo地址,大家可以去GitHub上面下载https://github.com/GitLGH/AlipayDemo 一:思路总结 蚂蚁金融开发平台上面对于支付宝登录授权部分使用的原生andr ...
最新文章
- Go语言的错误异常处理机制及其应用
- 限制用户不允许输入中文字符
- 虚拟机中安装MAC OS X教程(适用所有电脑方法,特别是cpu不支持硬件虚拟化的电脑)...
- 【POJ - 2987】Firing(最大权闭合图,网络流最小割,输出方案最小,放大权值法tricks)
- 天池 在线编程 滑动数独(滑动窗口)
- linux简单几个小命令
- 解决xib自定义tableFooterView一个神奇的bug
- SQL Server 数据库中的 MD5 和 SHA1
- python怎么读写文件-python怎么读写文件操作
- 2与27日 双目视觉系统,相机标定,矫正,匹配(特征,稠密),特征提取的方法,得到视差图
- SpringBoot使用AutoConfiguration自定义Starter
- c++ 使用nacos_使用SpringBoot和Seata实现Dubbo分布式事务管理
- vivo S12 PRO怎么解锁vivoS12解锁平台刷机教程屏幕锁激活手机锁不记得了可以用这个方法教程刷机解锁用的
- 对梯度概念的直观理解
- Qt 控件添加右键菜单
- 使用Nginx访问日志统计PV和UV
- 计算机本体应用,本体评估方法研究综述
- CentOS如何拓展swap分区
- ndn-cxx与nfd的安装
- 133A 读注意的嘤嘤
热门文章
- Web3 中的身份与信任
- 基于大数据平台的毕业设计01:基于Docker的HDP集群搭建
- B 站出面回应源码泄露门事件!裁员报复还是反抗 996?
- 计算机辅助设计实训报告范文,计算机辅助设计实习报告.doc
- Oracle同义词以及同义词循环链错误。
- Java -- 软件开发整体流程;项目环境dev,test,staging,prod
- securecrt传输mysql安装包_用SecureCRT来上传和下载文件
- 微信模板信息发送给用户(JAVA)
- jquery 实现聊天信息的实时展示
- 本科生学习GNSS算法 中级教程(四)- rtklib多系统多频单点定位算法 - rtklib日志解析以及算法调试