美文网首页Android小白IS移动开发总结
在Android项目中集成腾讯X5内核

在Android项目中集成腾讯X5内核

作者: cao健强 | 来源:发表于2017-04-16 22:47 被阅读3129次

    前言

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

    正文

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

    1. 下载tbs的jar包
      在腾讯tbs升级至3.0后,我们集成x5内核已经不用再创建后台项目,直接下载jar包集成到项目中即可。下载地址:X5内核下载地址
      在这里我还是说一下需要集成appkey的方法:
      首先依然是下载敢放jar包,然后在官网开发者后台申请自己的appkey,并配置到自己的项目清单文件中:
    <meta-data
              android:name="QBSDKAppKey"
              android:value="yourProjectAppKey" />
    

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

    1. 添加权限,可以直接复杂官方demo的权限。
    2. 在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);
        }
    }
    
    1. 复制官方demo中utils中的类到自己的项目中


      复制utils下的文件到自己的项目中
    2. 将layout中的webView替换成X5webView。注意:这里的X5webView是需要带路径的,如com.X5util.X5WebView
    3. 接下来就可以直接使用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服务先暂时记录这么多,还有许多没有写到的点在以后的工作学习逐步记录

    相关文章

      网友评论

      本文标题:在Android项目中集成腾讯X5内核

      本文链接:https://www.haomeiwen.com/subject/hckzattx.html