Android集成三方浏览器之X5内核,从入门到精通
初始化X5服务
//在application中初始化
@Override
public void onCreate() {
super.onCreate();
//搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。
QbSdk.PreInitCallback callback = new QbSdk.PreInitCallback() {
@Override
public void onViewInitFinished(boolean arg) {
//x5內核初始化完成的回调,
// true表示x5内核加载成功,
// false表示x5内核加载失败,会自动切换到系统内核。
}
@Override
public void onCoreInitFinished() {
}
};
QbSdk.initX5Environment(getApplicationContext(), callback);
}
在布局中添加 WebView
<com.tencent.smtt.sdk.WebView
android:id="@+id/webview"
android:layout_width=“match_parent”
android:layout_height=“match_parent” />
初始化 Webview
public class MainActivity extends AppCompatActivity {
private ProgressBar progressBar;
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
progressBar = findViewById(R.id.progressbar);
webView = findViewById(R.id.webview);
initWebView();
}
private void initWebView() {
WebSettings settings = webView.getSettings(); //和系统webview一样
settings.setJavaScriptEnabled(true); //支持Javascript 与js交互
settings.setJavaScriptCanOpenWindowsAutomatically(true);//支持通过JS打开新窗口
settings.setAllowFileAccess(true); //设置可以访问文件
settings.setSupportZoom(true); //支持缩放
settings.setBuiltInZoomControls(true); //设置内置的缩放控件
settings.setUseWideViewPort(true); //自适应屏幕
settings.setSupportMultipleWindows(true); //多窗口
settings.setDefaultTextEncodingName(“utf-8”); //设置编码格式
settings.setAppCacheEnabled(true);
settings.setDomStorageEnabled(true);
settings.setAppCacheMaxSize(Long.MAX_VALUE);
settings.setCacheMode(WebSettings.LOAD_NO_CACHE); //缓存模式
webView.setWebViewClient(new WebViewClient() {
@Override
public void onPageStarted(WebView webView, String s, Bitmap bitmap) {
super.onPageStarted(webView, s, bitmap);
}
@Override
public void onPageFinished(WebView webView, String s) {
super.onPageFinished(webView, s);
}
@Override
public boolean shou
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
ldOverrideUrlLoading(WebView webView, String url) {
webView.loadUrl(url);
return true;
}
@Override
public void onReceivedSslError(WebView webView, SslErrorHandler sslErrorHandler, SslError sslError) {
// super.onReceivedSslError(webView, sslErrorHandler, sslError);
sslErrorHandler.proceed();//忽略SSL证书错误
}
});
webView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView webView, String s, String s1, JsResult jsResult) {
return super.onJsAlert(webView, s, s1, jsResult);
}
@Override
public void onReceivedTitle(WebView webView, String s) {
super.onReceivedTitle(webView, s);
}
@Override
public void onProgressChanged(WebView webView, int progress) {
super.onProgressChanged(webView, progress);
if(…){
…
progressBar.setProgress(progress); //设置进度条
…
} else {
…
}
}
}
});
webView.loadUrl(“http://www.baidu.com”);
// webView.reload(); 刷新页面
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView != null && webView.canGoBack()) {
webView.goBack();
return true;
Android集成三方浏览器之X5内核,从入门到精通相关推荐
- Android集成三方浏览器之X5内核,讲的明明白白
腾讯 X5 内核也是基于 chromium 的,相比原生的 WebView 而言,优化了用户的浏览体验.SDK 是通过共享使用用户手机上微信.手机QQ.QQ空间等软件已经下载好的 X5 内核.SDK ...
- Android集成三方浏览器之Crosswalk
上一篇讲解了腾讯 X5 内核的集成,这一篇是讲解 Crosswalk 的集成 Crosswalk 也是采用了Chromenium 内核,是一款开源的 web 引擎,开发者可以直接把 Crosswalk ...
- 腾讯浏览服务X5内核集成
腾讯浏览服务X5内核集成 导读 1.什么是X5内核? 2.需求场景 3.开始搬砖 4.优化 5.集成后的问题 6.补充 一.什么是X5内核? 用官方文档的话说,就是解决系统webview兼容性差.加载 ...
- [转]Android 和 iPhone 浏览器之战,第 2 部分: 为 iPhone 和 Android 构建基于浏览器的应用程序...
简介: 本文是共两部分的系列文章 "Android 和 iPhone 浏览器之战" 的第 2 部分,主要关注为 iPhone 和 Android 开发基于浏览器的应用程序.在第 1 ...
- Android使用腾讯浏览服务X5内核
[前期准备] 腾讯X5 jar包下载地址 [点击打开] 本次完整DEMO源码 [打开Github] [集成步骤] 第一步:下载jar包添加到项目 第二步:添加权限 [java] view plainc ...
- TencentTbs腾讯浏览服务 x5内核使用
Tencent TBS (下简称TBS) 腾讯浏览服务 What is it? 百度百科解释: 腾讯浏览服务(Tencent Browsing Service,以下简称TBS),由腾讯X5浏览服务升级 ...
- Android:删除腾讯X5内核的右上角设备信息
看java部分 里面有一个 drawChild方法,注释掉就行
- 告别XML,Android新声明式UI框架《Jetpack Compose入门到精通》最全开发指南
什么是Jetpack Compose? Jetpack Compose是Android的新声明式UI框架.长期以来, Android 开发人员习惯于使用带有状态视图的xml编写UI,这些状态视图通过逐 ...
- Android 使用腾讯的TBS浏览器X5内核的集成加载pdf等文件
我们正常项目使用原生webview加载h5页面也是没问题的,但是当使用原生webview加载h5出问题了,h5地址在微信等可以正常使用,前端就会丢锅给我们,为了杜绝不是我们Android的问题,那我们 ...
- SpringBoot从入门到精通教程(二十九)- 微信企业支付集成(五分钟集成)
需求背景 SpringBoot用法:微信企业支付集成(五分钟集成) 问题痛点 通过SpringBoot框架,集成服务端微信企业支付接口,做到下载即用(填写好相关微信支付后台相关Key信息),最快五分钟 ...
最新文章
- 人脸检测库libfacedetection介绍
- 听说过代码洁癖,还没听说过有 Bug 洁癖的?
- 前端抢饭碗系列之Vue项目如何做单元测试
- webpack-dev-server 搭建本地服务以及浏览器实时刷新
- 极光无限渗透测试面经_认识工业以太网及线缆测试
- Silverlight 5 Beta新特性[5]隐式模板支持
- 基于MATLAB的平面刚架有限元分析,基于MATLAB的平面刚架静力分析.pdf
- docker与虚拟机性能比较
- Head First 设计模式 —— 单例模式(Singleton)
- 《程序员之禅》一一2.2 佛教中的“小鬼”
- 木马病毒 与后门技术
- android蓝牙取sbc音频数据
- linux三星电脑开机怎么进入页面,三星Samsung笔记本电脑开机进入BIOS的方法与BIOS设置全功能菜单(F2)...
- 菜单下拉列表怎么实现慢慢出现效果-----过渡(transition)
- 平安人寿优+计划广纳英才,平安代理人实现职涯发展
- 网线插座板上网络模块接线
- mysql 汉字笔画排序规则_SQL Server 与MySQL中排序规则与字符集相关知识的一点总结...
- 三天写完毕业论文——经验分享
- redis 3.0.7 cluster 集群部署
- SEO动态渲染的烟雾测试