精华内容
下载资源
问答
  • 而在这种情况下,腾讯tbs的x5内核webView就很适合我们的要求了。正文今天就介绍一下如何使用x5内核替代系统原生的webView,以解决系统自带webView能力不足的问题。下载tbs的jar包在腾讯tbs升级至...

    前言

    前几天,为了更好更流畅的播放网页视屏,我们决定在项目中使用腾讯的tbs服务。之所以不使用crosswalk,是因为播放网络视频这个需求相对于使项目apk包增大十几兆还是有所不值。而在这种情况下,腾讯tbs的x5内核webView就很适合我们的要求了。

    正文

    今天就介绍一下如何使用x5内核替代系统原生的webView,以解决系统自带webView能力不足的问题。

    下载tbs的jar包

    在腾讯tbs升级至3.0后,我们集成x5内核已经不用再创建后台项目,直接下载jar包集成到项目中即可。下载地址:X5内核下载地址

    在这里我还是说一下需要集成appkey的方法:

    首先依然是下载敢放jar包,然后在官网开发者后台申请自己的appkey,并配置到自己的项目清单文件中:

    android:name="QBSDKAppKey"

    android:value="yourProjectAppKey" />

    其中 name不变,value改为自己的APPkey

    添加权限,可以直接复杂官方demo的权限。

    在mainActivity或者application中加载X5内核(建议在application中加载)

    public class APPAplication extends Application {

    @Override

    public void onCreate() {

    super.onCreate();

    //搜集本地tbs内核信息并上报服务器,服务器返回结果决定使用哪个内核。

    QbSdk.PreInitCallback cb = new QbSdk.PreInitCallback() {

    @Override

    public void onViewInitFinished(boolean arg0) {

    // 在这里你可以做一些关于x5加载的操作

    //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。

    Log.d("app", " onViewInitFinished is " + arg0);

    }

    @Override

    public void onCoreInitFinished() {

    // TODO Auto-generated method stub

    }

    };

    //x5内核初始化接口

    QbSdk.initX5Environment(getApplicationContext(), cb);

    }

    }

    复制官方demo中utils中的类到自己的项目中

    5d7231a2f7d8?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

    复制utils下的文件到自己的项目中

    将layout中的webView替换成X5webView。注意:这里的X5webView是需要带路径的,如com.X5util.X5WebView

    接下来就可以直接使用X5WebView进行开发了,因为X5webView是继承自webView的,所以不用担心之前webView的方法不支持。

    在使用X5内核播放视屏时,只需要在包含该X5WebView的activity中配置好相关属性即可支持全屏、小窗口播放等功能

    private void initX5Video(){

    Bundle data = new Bundle();

    data.putBoolean("standardFullScreen", false);// true表示标准全屏,false表示X5全屏;不设置默认false,

    data.putBoolean("supportLiteWnd", true);// false:关闭小窗;true:开启小窗;不设置默认true,

    data.putInt("DefaultVideoScreen", 1);// 1:以页面内开始播放,2:以全屏开始播放;不设置默认:1

    webView.getX5WebViewExtension().invokeMiscMethod("setVideoParams",

    data);

    }

    至此,腾讯tbs服务集成成功

    总结

    关于腾讯的X5内核TBS服务先暂时记录这么多,还有许多没有写到的点在以后的工作学习逐步记录

    展开全文
  • 最近在做视频直播系统,发现在微信浏览器上播放视频会直接弹出至顶层全屏方式播放,但只有在安卓才有这个问题,内核会劫持video标签,然后调用播放器进行全屏播放...当然也可以使用X5内核调试页关闭X5内核可以解决问...

    在这里插入图片描述

    最近在做视频直播系统,发现在微信浏览器上播放视频会直接弹出至顶层全屏方式播放,但只有在安卓才有这个问题,内核会劫持video标签,然后调用播放器进行全屏播放,播放完后还会弹出一些其他视频广告。当然因为微信浏览器在安卓上使用的QQ浏览器X5内核。IOS则是使用的苹果自己的内核safari,自然不会出现乱七八糟的问题,我有一句****不知*****

    当然也可以使用X5内核调试页关闭X5内核可以解决问题:http://debugtbs.qq.com/,但也只针对你自己设备有效。

    遇到这个问题第一时间肯定是百度,结果不搜不知道,一搜吓一跳。满屏的解决方案,这下高兴坏了,看来并不是我一个人出现这个问题。可是。。。事情并不是那么简单,网上的方法基本上都是无效的、无效的、无效的

    经过大海捞针般的搜索,终于找到了解决办法。

    在之前,X5内核处理这种问题,需要使用白名单机制来处理,也就是在QQ浏览器那里申请白名单,但是太麻烦,并且关闭了这种渠道。

    所以现在官方开放了这个功能,让我们自行来控制,那就是给video标签添加几个属性。说实话,在这之前,我试过,在安卓下并不怎么好使,但是,现在可以用了

    <video  src=""  controls="" x5-playsinline="" playsinline="" webkit-playsinline="" poster="" x-webkit-airplay="allow" preload="auto"></video>
    

    记住,千万别加网上所说的那个 x5-video-player-type="h5" 它会坑死你的

    这里放出测试地址,可以自行测试是否成功!

    测试微信x5内核

    展开全文
  • X5最小缓存设置import "android.app.*"import "android.os.*"import "android.widget.*"import "android.view.*"import "android.support.*"import "com.tencent.smtt.sdk.*"webView.getSettings()....

    X5最小缓存设置

    import "android.app.*"

    import "android.os.*"

    import "android.widget.*"

    import "android.view.*"

    import "android.support.*"

    import "com.tencent.smtt.sdk.*"

    webView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);

    webView.getSettings().setDisplayZoomControls(true);

    webView.getSettings().setSupportZoom(true);

    webView.getSettings().setDomStorageEnabled(false);

    webView.getSettings().setDatabaseEnabled(false);

    webView.getSettings().setAppCacheEnabled(false);

    webView.getSettings().setUseWideViewPort(true);

    webView.getSettings().setAllowFileAccess(true);

    webView.getSettings().setBuiltInZoomControls(true);

    webView.getSettings().setDisplayZoomControls(true);

    webView.getSettings().setLoadWithOverviewMode(true);

    webView.getSettings().setLoadsImagesAutomatically(true);

    webView.getSettings().setSaveFormData(false);

    webView.getSettings().setAllowContentAccess(true);

    webView.getSettings().setBlockNetworkImage(false);

    webView.getSettings().setAllowFileAccessFromFileURLs(false);

    webView.getSettings().setAllowUniversalAccessFromFileURLs(false);

    webView.getSettings().setAllowContentAccess(true);

    webView.getSettings().setJavaScriptEnabled(true);

    webView.getSettings().setSupportMultipleWindows(true);

    webView.getSettings().setGeolocationEnabled(true);

    webView.getSettings().setDefaultTextEncodingName("UTF-8");

    webView.getSettings().setAppCacheMaxSize(Long.MAX_VALUE);

    webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

    X5清理缓存

    --程序启动时会执行的事件

    local hh={};webView.addJavascriptInterface(hh,'JsInterface');

    webView.addJavascriptInterface({},'JsInterface')

    appinfo=this.getPackageManager().getApplicationInfo(this.getPackageName(),0)

    applabel=this.getPackageManager().getApplicationLabel(appinfo)

    function onKeyDown(key,event)

    if(key==4)then

    webView.clearCache(true)

    if(webView.canGoBack())then

    webView.goBack()

    else

    退出确认=对话框()

    .设置标题("提示")

    .设置消息("您确定要退出 "..applabel.." 吗?")

    退出按钮={

    [1]=function()

    退出确认

    .设置积极按钮("确定",function()

    webView.clearCache(true)

    执行Shell("rm -rf /sdcard/"..this.packageName)

    执行Shell("rm -rf /storage/emulated/0/"..this.packageName)

    执行Shell("rm -rf /sdcard/Android/data/"..this.packageName)

    执行Shell("rm -rf /storage/emulated/0/Android/data/"..this.packageName)

    执行Shell("rm -rf /data/data/"..this.packageName.."/cache")

    执行Shell("rm -rf /data/data/"..this.packageName.."/code_cache")

    执行Shell("rm -rf /data/data/"..this.packageName.."/app_webview")

    执行Shell("rm -rf /data/data/"..this.packageName.."/app_textures")

    执行Shell("rm -rf /data/data/"..this.packageName.."/files/data")

    执行Shell("rm -rf /data/data/"..this.packageName.."/files/live_log")

    退出程序()

    end)

    .设置中立按钮("清空数据",function()

    对话框()

    .设置标题("提示")

    .设置消息("清空应用数据后再次运行程序将变得缓慢\n您确定要清空 "..applabel.." 的全部数据吗?")

    .设置积极按钮("确定",function()

    执行Shell("rm -rf /sdcard/"..this.packageName)

    执行Shell("rm -rf /storage/emulated/0/"..this.packageName)

    执行Shell("rm -rf /sdcard/Android/data/"..this.packageName)

    执行Shell("rm -rf /storage/emulated/0/Android/data/"..this.packageName)

    os.execute("pm clear "..this.packageName)

    end)

    .设置消极按钮("取消")

    .显示()

    end)

    .设置消极按钮("取消")

    end}

    math.randomseed(tonumber(tostring(os.time()):reverse():sub(1, 6)))

    退出按钮[math.random(1,1)]()

    退出确认.show()

    end

    return true

    end

    end

    展开全文
  • 在我研究了flutter和mpvue后,我决定放弃mui以及flutter和mpvue,至于什么原因,日后文章会...目前已知的有crosswalk和腾讯x5内核crosswalk:我试过,但是放弃了。原因不像网上说的那样是因为安装包大。而是因为我...

    在我研究了flutter和mpvue后,我决定放弃mui以及flutter和mpvue,至于什么原因,日后文章会说明。目前我用的是vue-cli3+cordova;

    但是cordova原生内核毕竟是比较老的,css中使用env可能会导致错误。于是必须引入其他内核最为替代;

    目前已知的有crosswalk和腾讯x5内核

    crosswalk:我试过,但是放弃了。原因不像网上说的那样是因为安装包大。而是因为我安装不了,各种报错还运行不起来,本着坚持不懈的原则我放弃了!!!╮( ̄▽ ̄")╭

    最后我选择了我可以运行起来的x5内核

    但是我发现一个很可怕的问题

    在第一次运行app,一切的input(type=file)可以调起相册,但是选择照片后无法返回路径????我用的是红米做测试机;

    基于我对鹅厂的信任!我甚至一度怀疑是我用的样式框架问题

    p.s.我用的是滴滴的cube-ui这个在后期的文章我也会说明

    最后用了各种方法测试,框架问题(明知道框架问题导致这个问题的可能性很低,但是我以为选择信任鹅厂);

    就在今天,我决定花一天时间根治这个问题??

    所以打开了as的debug模式

    前端的研究android也是够够了。

    好吧不吐槽了,看下我发现了什么

    38c14b6df8ef04ec2d29beb76c0db620.png

    选择图片以后报错了

    错误位置在

    56e5445b5d8a93788113310e6498a267.png

    百度大法?谷歌大法?

    需要使用Uri[] result = android.webkit.WebChromeClient.FileChooserParams.parseResult(resultCode, intent);

    替换Uri[] result = FileChooserParams.parseResult(resultCode, intent);

    正确的如下

    207a32a5034c1784c9bfa87b9dc81c45.png

    然后就可以正常上传了

    鹅厂出来挨打

    当然我希望官方可以处理下这个问题,毕竟我们手动处理只能针对这个问题而处理,不知道是否对其他地方有影响!!!!

    展开全文
  • Android X5内核集成demo,完美解决CSS,DIV各浏览器适配问题
  • Android-x5内核浏览器

    2017-06-20 16:13:42
    Android 集成x5内核浏览器demo
  • 然而由于系统 WebView 的兼容性问题(Android 4.4 以前 webview 是基于 webkit ,4.4 及以后采用 chromium)。需要使用一款兼容性较好的内核「完美支持 webrtc」。这一篇主要讲解腾讯 X5 浏览器的集成,不得不说官方...
  • android腾讯X5内核集成

    千次阅读 2020-03-02 20:21:31
    官方给的Demo跑不通,在android9,oppo机型上几乎每次都失败,没办法下载x5内核,onViewInitFinished 回调都是false; 尝试从其他软件已下好x5.tbs org文件放到自己软件的目录下也不行,可能需要放到系统目录下...
  • android腾讯X5内核demo

    2016-08-19 11:12:37
    包括h5 video全屏播放 文件选择 js调用 flash播放 过量下拉等功能
  • Android腾讯X5内核WebView加载失败原因

    万次阅读 2017-10-29 18:39:01
    网上集成腾讯X5内核方法有很多了,我就不阐述了,简单记录一下加载X5内核失败原因 运行官方demo一点毛病也没有,自己创建modul运行也没问题 ,一放到自己的项目就永远初始化失败,最后发现是这个原因: 这是官方...
  • 腾讯X5内核-android开发

    2019-03-27 15:07:27
    腾讯X5内核完整接入教程,并且提供完整示例。提供了Android Studio SDK接入方法,和Eclipse SDK接入方法。
  • android 腾讯x5内核 浏览器

    千次阅读 2017-05-02 09:32:08
    android 4.4之后,google就抛弃了webkit,只是保留了webkit中关于排版渲染方面的代码,同时还把Browser应用给去掉了引擎方面已经换成了一个叫​C​h​ro​m​i​u​m​的内核。 Blink 其实是 We
  • Android 安装腾讯X5内核

    千次阅读 2021-02-09 17:02:59
    “x86模拟器无法安装使用腾讯X5内核!” X5官方接入文档 如果发现X5安装失败可以手动安装 if (!QbSdk.canLoadX5(this)) { // 无法加载手动安装 webView.loadUrl("https://debugtbs.qq.com/") } else { // 正常...
  • Android集成腾讯x5内核

    千次阅读 2019-01-15 17:13:58
    腾讯x5内核 可替换android自带的webview,优化打开速度,相比之下 腾讯内核比跟原声的比真的6到飞起  腾讯X5内核官方sdk地址 首先导入项目的jar和os文件  导入文件后 引入jar后 在 Application 初始化腾讯...
  • android集成腾讯X5内核

    2020-08-01 12:15:40
    android的各个版本中webview的实现是极度碎片化的,近期的android tv项目就躺枪一波,针对这样的需求,更换webview内核也就成了自然而然的选择。这里展示腾讯x5内核使用。腾讯浏览服务 SDK集成 sdk集成有两种方式 ...
  • 【实例简介】Android WebView cache 缓存 腾讯X5内核在线视频播放【实例截图】【核心代码】Terry007└── Terry007├── AndroidManifest.xml├── bin│ ├── AndroidManifest.xml│ ├── Terry007.apk│ ├...
  • 使用 TBS x5内核WebView实现视频全屏播放 支持快进 改变屏幕亮度 和音量调节 效果 代码实现 第一步 在初始化webview 的时候添加配置 mWebView.setWebChromeClient( new com.tencent.smtt.sdk.WebChromeClient(){...
  • 在application中已进行X5的初始化,然后初始化的回调也返回成功但是使用效果和原生浏览器内核一样,页面存在卡顿现象
  • Android 项目引入腾讯X5内核

    万次阅读 2018-08-18 23:39:30
    1、为什么要集成腾讯 X5 浏览器内核 肯定是事出有因,简单来说,JS代码写的不标准,与部分机型内嵌套的浏览器内核产生矛盾,出现底层(os)bug导致,不得不费事搞一个其它内核进行加载网页,具体原因。 2、官方...
  • Android 使用X5内核时,优化加载速度

    千次阅读 2018-08-06 11:56:42
    原文地址:腾讯X5内核预加载 最近在做Webview加载页面的时候,用到了腾讯的X5内核,但是在使用过程中发现每次点击链接时,都会有一定的延迟,之后才能跳转到对应的页面,这体验很不好。。。 所以就抽时间找问题,...
  • 为了实现与阿里云IoT Studio移动可视化功能的搭配,使用android studio工具,调用腾讯X5浏览器内核,实现了安卓...X5内核稳定高效,可完美替代谷歌原生webview控件。适合物联网开发者且具有安卓开发基础的人下载使用。
  • 网络原因或者磁盘满了就不说了 说说官方建议的初始化是放在application里面去初始化 ...在申请读写权限回调里判断成功授权后再进行X5内核初始化,这样只要不是网络问题或者磁盘满了,基本都不会失败了。 ...
  • 基于腾讯X5内核 目前已有功能: 1、文件浏览(支持pdf/ppt/doc/excel/txt) 2、文件上传(JS) 3、文件下载 4、Android与JS交互 5、自定义交互(进度条、下拉回弹) 6、视频播放 1、添加依赖和配置 根目录build....
  • 其实,一开始集成X5内核我是拒绝的,直到我们的项目在魅族MX6,Android7.1.1上报了一个怎么也找不出原因的错,而且报错之后直接就闪退了,完全没有报错信息,魅蓝5上面都是正常的。将网页拷贝进Chrome之后,发现...
  • 使用腾讯X5内核Webview有很多坑,记录一下。经常onViewInitFinished回调是false 1.初始化腾讯内核在你加载webview之后了。 2.AndroidManifest配置权限少了。 3.缺少os文件 以上这问题可以看看这篇文章: 链接: ...
  • Android使用腾讯X5内核WebView

    千次阅读 2017-08-16 20:45:16
    Android使用腾讯X5内核WebView   作者 BRYANB 关注 2017.02.17 13:49 字数 166 阅读 1852评论 5喜欢 15 版权声明:本文为博主原创文章,未经博主允许不得转载。 第一步:下载jar包添加到...
  • Android基于腾讯X5内核的WebView(超级浏览器),拥有文件上传、下载、浏览(支持PDF/PPT/DOC/EXCEL/TXT格式)、Android与JS的交互、视频播放、自定义进度条、下拉回弹等功能 基于腾讯X5内核 目前已有功能: 1、...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,145
精华内容 1,258
关键字:

androidx5内核