admin
2020-10-14 bdc1a6c05ce91add0c3a2ffab23b028c0099c3fd
Merge branch '3.7.8' into 3.7.9
1个文件已删除
11个文件已修改
3个文件已添加
384 ■■■■ 已修改文件
BuWanVideo/AndroidManifest.xml 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/build.gradle 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/tbs_sdk_thirdapp_v4.3.0.1020_43633_sharewithdownload_withoutGame_obfs_20190111_105200.jar 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/libs/tbs_sdk_thirdapp_v4.3.0.39_43939_sharewithdownloadwithfile_withoutGame_obfs_20200713_223411.jar 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/yw_1222.jpg 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/drawable/yw_1222_baichuan.jpg 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/res/layout/activity_video_player.xml 131 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerActivity.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/AlibcTradeUtil.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/JumpActivityUtil.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/browser/BWJavaInterface.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/x5/X5PlayerWebView.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/src/com/weikou/beibeivideo/util/x5/X5WebView.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
BuWanVideo/AndroidManifest.xml
@@ -203,6 +203,7 @@
        <activity
            android:name="com.weikou.beibeivideo.ui.video.VideoPlayerActivity"
            android:configChanges="orientation|screenSize|keyboardHidden"
            android:label="@string/app_name"></activity>
@@ -216,7 +217,8 @@
            android:windowSoftInputMode="adjustResize" />
        <!--百度内容联盟 -->
        <activity android:name="com.baidu.mobads.AppActivity"
        <activity
            android:name="com.baidu.mobads.AppActivity"
            android:configChanges="keyboard|keyboardHidden|orientation"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
@@ -252,7 +254,7 @@
            android:value="570f28a578d6e12cba6f7f200b8d1c83"></meta-data>
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="vivo"></meta-data>
            android:value="qq"></meta-data>
        <provider
@@ -379,7 +381,6 @@
            android:value="e113a131d49e1f837402e2807f2daf58" />
        <!--广点通广告-->
        <!-- targetSDKVersion >= 24时才需要添加这个provider。provider的authorities属性的值为${applicationId}.fileprovider,请开发者根据自己的${applicationId}来设置这个值,例如本例中applicationId为"com.qq.e.union.demo"。 -->
        <provider
@@ -459,15 +460,15 @@
        <activity
            android:name="com.tencent.connect.common.AssistActivity"
            android:theme="@android:style/Theme.Translucent.NoTitleBar"
            android:configChanges="orientation|keyboardHidden|screenSize"/>
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" />
        <!--风行广告 -->
        <provider
            android:name="com.funshion.video.util.FSFileProvider"
            android:authorities="com.yeshi.ddysvideo.funadsdk.provider"
            android:exported="false"
            android:grantUriPermissions="true" >
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/funshion_file_path" />
BuWanVideo/build.gradle
@@ -14,7 +14,7 @@
    //聚能赚
    api files('libs/YmSdk20200820.aar')
    api files('libs/tbs_sdk_thirdapp_v4.3.0.39_43939_sharewithdownloadwithfile_withoutGame_obfs_20200713_223411.jar')
    api project(':social_sdk_library_project')
@@ -45,7 +45,6 @@
    implementation 'com.alibaba.sdk.android:AlibcTradeCommon:4.0.0.15@aar'
    implementation 'com.alibaba.sdk.android:AlibcTradeBiz:4.0.0.15@aar'
    implementation 'com.alibaba.sdk.android:nb_trade:4.0.0.15@aar'
    implementation files('libs/tbs_sdk_thirdapp_v4.3.0.1020_43633_sharewithdownload_withoutGame_obfs_20190111_105200.jar')
    implementation 'com.android.support:cardview-v7:27.1.1'
    //权限请求
BuWanVideo/libs/tbs_sdk_thirdapp_v4.3.0.1020_43633_sharewithdownload_withoutGame_obfs_20190111_105200.jar
Binary files differ
BuWanVideo/libs/tbs_sdk_thirdapp_v4.3.0.39_43939_sharewithdownloadwithfile_withoutGame_obfs_20200713_223411.jar
Binary files differ
BuWanVideo/res/drawable/yw_1222.jpg

BuWanVideo/res/drawable/yw_1222_baichuan.jpg
BuWanVideo/res/layout/activity_video_player.xml
@@ -1,82 +1,89 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/theme"
    android:orientation="vertical">
    <View
        android:id="@+id/v_status_bar"
        android:layout_width="match_parent"
        android:layout_height="15dp"
        android:background="@color/top_bar_color" />
    android:background="@color/theme">
    <LinearLayout
        android:id="@+id/ll_container"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:gravity="center_vertical">
        android:layout_height="match_parent"
        android:orientation="vertical">
        <TextView
            android:id="@+id/tv_top_bar_left"
            style="@style/TextBuleNormal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerVertical="true"
            android:drawableLeft="@drawable/ic_back_two"
            android:drawablePadding="3dp"
            android:gravity="center"
            android:padding="8dp" />
        <View
            android:id="@+id/v_status_bar"
            android:layout_width="match_parent"
            android:layout_height="15dp"
            android:background="@color/top_bar_color" />
        <LinearLayout
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:gravity="center_vertical"
            android:orientation="vertical">
            android:layout_width="match_parent"
            android:layout_height="48dp"
            android:gravity="center_vertical">
            <TextView
                android:id="@+id/tv_title"
                android:layout_width="match_parent"
                android:id="@+id/tv_top_bar_left"
                style="@style/TextBuleNormal"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ellipsize="end"
                android:maxLines="1"
                android:text=""
                android:textColor="#DDDDDD"
                android:textSize="15sp"></TextView>
                android:layout_centerVertical="true"
                android:drawableLeft="@drawable/ic_back_two"
                android:drawablePadding="3dp"
                android:gravity="center"
                android:padding="8dp" />
            <TextView
                android:id="@+id/tv_url"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="3dp"
                android:ellipsize="end"
                android:maxLines="1"
                android:textColor="#DDDDDD"
                android:textSize="8sp"></TextView>
            <LinearLayout
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center_vertical"
                android:orientation="vertical">
                <TextView
                    android:id="@+id/tv_title"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:ellipsize="end"
                    android:maxLines="1"
                    android:text=""
                    android:textColor="#DDDDDD"
                    android:textSize="15sp"></TextView>
                <TextView
                    android:id="@+id/tv_url"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="3dp"
                    android:ellipsize="end"
                    android:maxLines="1"
                    android:textColor="#DDDDDD"
                    android:textSize="8sp"></TextView>
            </LinearLayout>
            <ImageView
                android:id="@+id/iv_refresh"
                android:layout_width="48dp"
                android:layout_height="48dp"
                android:padding="13dp"
                android:src="@drawable/ic_refresh"></ImageView>
        </LinearLayout>
        <ImageView
            android:id="@+id/iv_refresh"
            android:layout_width="48dp"
            android:layout_height="48dp"
            android:padding="13dp"
            android:src="@drawable/ic_refresh">
        </ImageView>
        <ProgressBar
            android:id="@+id/myProgressBar"
            style="?android:attr/progressBarStyleHorizontal"
            android:layout_width="match_parent"
            android:layout_height="3dp"
            android:background="@color/yellow" />
        <FrameLayout
            android:id="@+id/webview_container"
            android:layout_width="match_parent"
            android:layout_height="match_parent" />
    </LinearLayout>
    <ProgressBar
        android:id="@+id/myProgressBar"
        style="?android:attr/progressBarStyleHorizontal"
        android:layout_width="match_parent"
        android:layout_height="3dp"
        android:background="@color/yellow" />
    <com.weikou.beibeivideo.util.x5.X5WebView
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />
</LinearLayout>
</FrameLayout>
BuWanVideo/src/com/weikou/beibeivideo/BeibeiVideoApplication.java
@@ -8,8 +8,11 @@
import android.graphics.Color;
import android.support.multidex.MultiDex;
import android.util.Log;
import android.widget.Toast;
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
import com.alibaba.baichuan.android.trade.callback.AlibcTradeInitCallback;
import com.baidu.mobads.AppActivity;
import com.fun.xm.FSPlayer;
import com.iBookStar.views.YmConfig;
@@ -37,6 +40,9 @@
import com.weikou.beibeivideo.util.novel.NovelJNZUtil;
public class BeibeiVideoApplication extends Application {
    private final String TAG = BeibeiVideoApplication.class.getName();
    public static BeibeiVideoApplication application = null;
    public static String deviceName = null;
    public static String deviceNumber = null;
@@ -79,6 +85,7 @@
        initCSJAd();
        GDTADManager.getInstance().initWith(this, BeibeiConstant.GDT_ID);
        initWX();
        initTaoKe();
        try {
            //初始化播放插件
            FSPlayer.init(this, FunshionConstant.APICODE);
@@ -117,6 +124,19 @@
    }
    private void initTaoKe() {
        AlibcTradeSDK.asyncInit(this, new AlibcTradeInitCallback() {
            @Override
            public void onSuccess() {
            }
            @Override
            public void onFailure(int code, String msg) {
            }
        });
    }
    private ImageLoaderConfiguration buildDefaultILC(Context context) {
        // This configuration tuning is custom. You can tune every option, you may tune some of them,
        // or you can create default configuration by
@@ -139,7 +159,7 @@
            public void onViewInitFinished(boolean arg0) {
                // TODO Auto-generated method stub
                //x5內核初始化完成的回调,为true表示x5内核加载成功,否则表示x5内核加载失败,会自动切换到系统内核。
                Log.d("app", " onViewInitFinished is " + arg0);
                Log.d(TAG, " onViewInitFinished is " + arg0);
            }
            @Override
BuWanVideo/src/com/weikou/beibeivideo/ui/mine/BrowserActivity.java
@@ -162,7 +162,6 @@
                .getDrawable(R.drawable.color_progressbar));
        initX5WebView();
        webview.loadUrl(getIntent().getStringExtra("url"));
//        webview.loadUrl("http://192.168.3.122:8848/BuWanWeb/unregister/index.html");
    }
    // 文件下载监听
@@ -272,7 +271,7 @@
    public void onResume() {
        super.onResume();
        MobclickAgent.onPageStart("网页");
        webview.reload();
//        webview.reload();
    }
    @Override
BuWanVideo/src/com/weikou/beibeivideo/ui/video/VideoPlayerActivity.java
@@ -4,6 +4,8 @@
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.res.Configuration;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.PixelFormat;
@@ -18,13 +20,17 @@
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.view.WindowManager;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.LinearLayout.LayoutParams;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.Toast;
import com.lcjian.library.util.ManifestDataUtil;
import com.tencent.smtt.export.external.interfaces.IX5WebChromeClient;
import com.tencent.smtt.export.external.interfaces.SslError;
import com.tencent.smtt.export.external.interfaces.SslErrorHandler;
import com.tencent.smtt.export.external.interfaces.WebResourceRequest;
@@ -34,27 +40,36 @@
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
import com.umeng.analytics.MobclickAgent;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.ui.BaseActivity;
import com.weikou.beibeivideo.ui.media.VideoDetailActivity;
import com.weikou.beibeivideo.util.browser.BWJavaInterface;
import com.weikou.beibeivideo.util.downutil.DownFiles;
import com.weikou.beibeivideo.util.downutil.DownFiles.IProgress;
import com.weikou.beibeivideo.util.x5.X5WebView;
import com.weikou.beibeivideo.R;
import com.weikou.beibeivideo.util.x5.X5PlayerWebView;
import com.tencent.smtt.export.external.interfaces.IX5WebChromeClient.CustomViewCallback;
/**
 * 视频播放网页
 */
public class VideoPlayerActivity extends BaseActivity implements OnClickListener {
    private TextView tv_top_bar_left;
    private TextView tv_title;
    private TextView tv_url;
    private ImageView iv_refresh;
    private X5WebView webview;
    private X5PlayerWebView webview;
    ProgressBar progressBar;
    private void initX5WebView() {
        webview = findViewById(R.id.webview);
        FrameLayout webViewContainer = findViewById(R.id.webview_container);
        webview = new X5PlayerWebView(this, null);
        webViewContainer.addView(webview, new FrameLayout.LayoutParams(
                FrameLayout.LayoutParams.MATCH_PARENT,
                FrameLayout.LayoutParams.MATCH_PARENT));
        webview.setDownloadListener(new MyWebViewDownLoadListener());
        webview.setWebViewClient(new WebViewClient() {
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
@@ -100,6 +115,10 @@
        webview.setWebChromeClient(new WebChromeClient() {
            View myVideoView;
            View myNormalView;
            IX5WebChromeClient.CustomViewCallback callback;
            @Override
            public void onReceivedTitle(WebView view, String title) {
                tv_title.setText(title);
@@ -117,6 +136,43 @@
                }
                super.onProgressChanged(webView, i);
            }
            /**
             * 全屏播放配置
             */
            @Override
            public void onShowCustomView(View view,
                                         CustomViewCallback customViewCallback) {
                LinearLayout normalView = (LinearLayout) findViewById(R.id.ll_container);
                ViewGroup viewGroup = (ViewGroup) normalView.getParent();
                viewGroup.removeView(normalView);
                viewGroup.addView(view);
                myVideoView = view;
                myNormalView = normalView;
                callback = customViewCallback;
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
                WindowManager.LayoutParams attrs = getWindow().getAttributes();
                attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
                getWindow().setAttributes(attrs);
            }
            @Override
            public void onHideCustomView() {
                if (callback != null) {
                    callback.onCustomViewHidden();
                    callback = null;
                }
                if (myVideoView != null) {
                    ViewGroup viewGroup = (ViewGroup) myVideoView.getParent();
                    viewGroup.removeView(myVideoView);
                    viewGroup.addView(myNormalView);
                }
                setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
                WindowManager.LayoutParams attrs = getWindow().getAttributes();
                attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
                getWindow().setAttributes(attrs);
            }
        });
        WebSettings webSetting = webview.getSettings();
        webSetting.setJavaScriptEnabled(true);
@@ -146,6 +202,8 @@
        } else {
            findViewById(R.id.v_status_bar).setVisibility(View.GONE);
        }
        initX5WebView();
        tv_title = findViewById(R.id.tv_title);
        tv_url = findViewById(R.id.tv_url);
        iv_refresh = findViewById(R.id.iv_refresh);
@@ -158,8 +216,9 @@
        progressBar.setMax(100);
        progressBar.setProgressDrawable(this.getResources()
                .getDrawable(R.drawable.color_progressbar));
        initX5WebView();
        webview.loadUrl(getIntent().getStringExtra("url"));
        String url = getIntent().getStringExtra("url");
        webview.loadUrl(url);
        tv_url.setText(webview.getUrl());
    }
    // 文件下载监听
@@ -270,7 +329,6 @@
    public void onResume() {
        super.onResume();
        MobclickAgent.onPageStart("网页");
        webview.reload();
    }
    @Override
@@ -321,4 +379,9 @@
        }
        return super.onKeyDown(keyCode, event);
    }
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
    }
}
BuWanVideo/src/com/weikou/beibeivideo/util/AlibcTradeUtil.java
@@ -19,6 +19,8 @@
import com.weikou.beibeivideo.ui.mine.BrowserActivity;
import com.weikou.beibeivideo.util.downutil.ApkUtil;
import java.util.HashMap;
/**
 * 百川交易工具
 */
@@ -58,7 +60,7 @@
            else
                AlibcTrade.openByUrl(activity, "", url, webView,
                        webViewClient, webChromeClient, showParams,
                        taokeParams, null, new AlibcTradeCallback() {
                        taokeParams, new HashMap<>(), new AlibcTradeCallback() {
                            @Override
                            public void onTradeSuccess(AlibcTradeResult alibcTradeResult) {
                                Log.i("AlibcTradeUtil", alibcTradeResult.toString());
BuWanVideo/src/com/weikou/beibeivideo/util/JumpActivityUtil.java
@@ -4,14 +4,17 @@
import android.content.Context;
import android.content.Intent;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import com.alibaba.baichuan.android.trade.AlibcTrade;
import com.alibaba.baichuan.android.trade.AlibcTradeSDK;
import com.alibaba.baichuan.android.trade.callback.AlibcTradeCallback;
import com.alibaba.baichuan.android.trade.model.AlibcShowParams;
import com.alibaba.baichuan.android.trade.model.OpenType;
import com.alibaba.baichuan.android.trade.page.AlibcDetailPage;
import com.alibaba.baichuan.trade.biz.AlibcConstants;
import com.alibaba.baichuan.trade.biz.applink.adapter.AlibcFailModeType;
import com.alibaba.baichuan.trade.biz.context.AlibcTradeResult;
import com.alibaba.baichuan.trade.biz.core.taoke.AlibcTaokeParams;
import com.alibaba.fastjson.JSONObject;
@@ -93,7 +96,7 @@
            AlibcDetailPage basePage = new AlibcDetailPage(auctionId);
            AlibcTrade.openByBizCode(mActivity, basePage, null,
                    new WebViewClient(), new WebChromeClient(), "nativeDetail", alibcShowParams,
                    alibcTaokeParams, null, new AlibcTradeCallback(){
                    alibcTaokeParams, null, new AlibcTradeCallback() {
                        @Override
                        public void onTradeSuccess(AlibcTradeResult alibcTradeResult) {
@@ -131,8 +134,24 @@
                    return;
                //跳转百川
                AlibcShowParams alibcShowParams = new AlibcShowParams();
                alibcShowParams.setOpenType(OpenType.Auto);
                JumpActivityUtil.jumpBaiChuan(context, null, url, "", alibcShowParams);
                alibcShowParams.setNativeOpenFailedMode(AlibcFailModeType.AlibcNativeFailModeJumpBROWER);
//        AlibcTrade.openByUrl(GoodsDetailActivityTB.this, "",
//                url, null, new WebViewClient(), new WebChromeClient(),
//                alibcShowParams, alibcTaokeParams, exParams, new MiDuoTradeCallback(""));
                AlibcTaokeParams alibcTaokeParams = new AlibcTaokeParams("", "", "");
                alibcTaokeParams.setPid(BeibeiConstant.BAICHUAN_PID);
                alibcTaokeParams.setAdzoneid(BeibeiConstant.BAICHUAN_ADZONE_ID);
                alibcTaokeParams.pid = BeibeiConstant.BAICHUAN_PID;
                alibcTaokeParams.adzoneid = BeibeiConstant.BAICHUAN_ADZONE_ID;
                alibcTaokeParams.extraParams = new HashMap<>();
                alibcTaokeParams.extraParams.put("taokeAppkey", BeibeiConstant.BAICHUAN_APPKEY);
                AlibcTradeSDK.setTaokeParams(alibcTaokeParams);
                AlibcTradeUtil.openByUrl(context,
                        url, null, new WebViewClient(), new WebChromeClient(),
                        null, alibcTaokeParams, null);
                break;
            default: {
BuWanVideo/src/com/weikou/beibeivideo/util/browser/BWJavaInterface.java
@@ -5,14 +5,13 @@
import android.content.pm.PackageManager;
import android.support.v4.content.ContextCompat;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;
import com.lcjian.library.util.common.StringUtils;
import com.tencent.smtt.sdk.WebView;
import com.weikou.beibeivideo.util.AlibcTradeUtil;
import com.weikou.beibeivideo.util.JumpActivityUtil;
import com.weikou.beibeivideo.util.x5.X5WebView;
import org.json.JSONException;
import org.json.JSONObject;
@@ -24,10 +23,10 @@
    Activity mContext;
    TextView tv_top_bar_middle, tv_top_bar_left2, tv_top_bar_right;
    ImageView iv_right;
    X5WebView webview;
    WebView webview;
    private boolean boo = false;
    public BWJavaInterface(Activity activity, X5WebView webview) {
    public BWJavaInterface(Activity activity, WebView webview) {
        super(activity);
        mContext = activity;
        this.webview = webview;
@@ -36,7 +35,7 @@
    public BWJavaInterface(Activity activity, TextView tv_top_bar_middle
            , TextView tv_top_bar_left2, TextView tv_top_bar_right
            , ImageView iv_right, X5WebView webview) {
            , ImageView iv_right, WebView webview) {
        super(activity);
        mContext = activity;
        this.tv_top_bar_middle = tv_top_bar_middle;
BuWanVideo/src/com/weikou/beibeivideo/util/x5/X5PlayerWebView.java
New file
@@ -0,0 +1,95 @@
package com.weikou.beibeivideo.util.x5;
import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.os.Build;
import android.os.Bundle;
import android.util.AttributeSet;
import android.view.View;
import android.widget.TextView;
import com.tencent.smtt.sdk.CookieSyncManager;
import com.tencent.smtt.sdk.QbSdk;
import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebSettings.LayoutAlgorithm;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;
public class X5PlayerWebView extends WebView {
    TextView title;
    private WebViewClient client = new WebViewClient() {
        /**
         * 防止加载网页时调起系统浏览器
         */
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }
    };
    @SuppressLint("SetJavaScriptEnabled")
    public X5PlayerWebView(Context arg0, AttributeSet arg1) {
        super(arg0, arg1);
        this.setWebViewClient(client);
        initWebViewSettings();
        this.getView().setClickable(true);
    }
    private void initWebViewSettings() {
        WebSettings webSetting = this.getSettings();
        webSetting.setJavaScriptEnabled(true);
        webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
        webSetting.setAllowFileAccess(true);
        webSetting.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
        webSetting.setSupportZoom(false);
        webSetting.setBuiltInZoomControls(true);
        webSetting.setUseWideViewPort(true);
        webSetting.setSupportMultipleWindows(true);
        // webSetting.setLoadWithOverviewMode(true);
        webSetting.setAppCacheEnabled(true);
        // webSetting.setDatabaseEnabled(true);
        webSetting.setDomStorageEnabled(true);
        webSetting.setGeolocationEnabled(true);
        webSetting.setAppCacheMaxSize(Long.MAX_VALUE);
        // webSetting.setPageCacheCapacity(IX5WebSettings.DEFAULT_CACHE_CAPACITY);
        webSetting.setPluginState(WebSettings.PluginState.ON_DEMAND);
        // webSetting.setRenderPriority(WebSettings.RenderPriority.HIGH);
        webSetting.setCacheMode(WebSettings.LOAD_NO_CACHE);
        // this.getSettingsExtension().setPageCacheCapacity(IX5WebSettings.DEFAULT_CACHE_CAPACITY);//extension
        // settings 的设计
        webSetting.setUserAgent(webSetting.getUserAgentString().replace("TBS", "BUWAN").replace("MQQBrowser", "BUWANBrowser"));
        webSetting.setTextZoom(100);
        try {
            Bundle data = new Bundle();
//true表示标准全屏,false表示X5全屏;不设置默认false,
            data.putBoolean("standardFullScreen", true);
//false:关闭小窗;true:开启小窗;不设置默认true,
            data.putBoolean("supportLiteWnd", false);
//1:以页面内开始播放,2:以全屏开始播放;不设置默认:1
            data.putInt("DefaultVideoScreen", 1);
            this.getX5WebViewExtension().invokeMiscMethod("setVideoParams", data);
        } catch (Exception e) {
        }
        CookieSyncManager.createInstance(getContext());
        CookieSyncManager.getInstance().sync();
    }
    @Override
    protected boolean drawChild(Canvas canvas, View child, long drawingTime) {
        boolean ret = super.drawChild(canvas, child, drawingTime);
        canvas.save();
        return ret;
    }
    public X5PlayerWebView(Context arg0) {
        super(arg0);
        setBackgroundColor(85621);
    }
}
BuWanVideo/src/com/weikou/beibeivideo/util/x5/X5WebView.java
@@ -38,7 +38,7 @@
    private void initWebViewSettings() {
        WebSettings webSetting = this.getSettings();
        webSetting.setJavaScriptEnabled(true);
//        webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
        webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
        webSetting.setAllowFileAccess(true);
        webSetting.setLayoutAlgorithm(LayoutAlgorithm.NARROW_COLUMNS);
        webSetting.setSupportZoom(false);