From 33bce43737e1526856277b31169d77b3d4577f11 Mon Sep 17 00:00:00 2001 From: 18401019693 Date: Thu, 30 Nov 2023 14:34:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=9F=AD=E5=89=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../JavascriptInterfacePlayLetUtils.java | 39 +++++++++++++++++++ .../utils/JavascriptInterfaceUtils.java | 2 + .../views/MainHomeCommunityViewHolder.java | 11 ++++-- 3 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 common/src/main/java/com/yunbao/common/utils/JavascriptInterfacePlayLetUtils.java diff --git a/common/src/main/java/com/yunbao/common/utils/JavascriptInterfacePlayLetUtils.java b/common/src/main/java/com/yunbao/common/utils/JavascriptInterfacePlayLetUtils.java new file mode 100644 index 000000000..0016d5196 --- /dev/null +++ b/common/src/main/java/com/yunbao/common/utils/JavascriptInterfacePlayLetUtils.java @@ -0,0 +1,39 @@ +package com.yunbao.common.utils; + +import android.app.Activity; +import android.util.Log; +import android.webkit.JavascriptInterface; +import android.webkit.WebView; + +public class JavascriptInterfacePlayLetUtils { + private Activity mContext; + private WebView mWebView; + private static JavascriptInterfacePlayLetUtils sInstance; + + public static JavascriptInterfacePlayLetUtils getInstance() { + + synchronized (JavascriptInterfacePlayLetUtils.class) { + + sInstance = new JavascriptInterfacePlayLetUtils(); + + return sInstance; + } + } + + public JavascriptInterfacePlayLetUtils setmContext(Activity mContext, WebView mWebView) { + this.mContext = mContext; + this.mWebView = mWebView; + return this; + } + + @JavascriptInterface + public void postEvent(String name, String data) { + Log.e("TAG", "postEvent name==" + name); + Log.e("TAG", "postEvent data==" + data); + } + + @JavascriptInterface + public void postWeakBalance(String data) { + Log.e("TAG", "postWeakBalance data==" + data); + } +} diff --git a/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java b/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java index b951378e9..8918e70e0 100644 --- a/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java +++ b/common/src/main/java/com/yunbao/common/utils/JavascriptInterfaceUtils.java @@ -8,6 +8,7 @@ import android.app.Activity; import android.app.Dialog; import android.os.Handler; import android.os.Looper; +import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.webkit.JavascriptInterface; @@ -676,4 +677,5 @@ public class JavascriptInterfaceUtils { } }); } + } diff --git a/main/src/main/java/com/yunbao/main/views/MainHomeCommunityViewHolder.java b/main/src/main/java/com/yunbao/main/views/MainHomeCommunityViewHolder.java index 90e508f5c..505688619 100644 --- a/main/src/main/java/com/yunbao/main/views/MainHomeCommunityViewHolder.java +++ b/main/src/main/java/com/yunbao/main/views/MainHomeCommunityViewHolder.java @@ -34,16 +34,17 @@ import com.yunbao.common.HtmlConfig; import com.yunbao.common.bean.LiveBean; import com.yunbao.common.event.JavascriptInterfaceEvent; import com.yunbao.common.http.HttpCallback; +import com.yunbao.common.http.LiveHttpUtil; import com.yunbao.common.interfaces.OnItemClickListener; import com.yunbao.common.manager.IMLoginManager; import com.yunbao.common.utils.Bus; import com.yunbao.common.utils.DpUtil; +import com.yunbao.common.utils.JavascriptInterfacePlayLetUtils; import com.yunbao.common.utils.JavascriptInterfaceUtils; import com.yunbao.common.utils.L; +import com.yunbao.common.utils.LiveRoomCheckLivePresenter; import com.yunbao.common.utils.RouteUtil; import com.yunbao.common.utils.ToastUtil; -import com.yunbao.common.http.LiveHttpUtil; -import com.yunbao.common.utils.LiveRoomCheckLivePresenter; import com.yunbao.live.views.LoadingView; import com.yunbao.main.R; import com.yunbao.main.activity.MainActivity; @@ -93,7 +94,7 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl mProgressBar = (ProgressBar) findViewById(R.id.progressbar); mWebView = new WebView(mContext); int aa = BottomBarUtil.getNavigationBarHeightIfRoom(mContext); - LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); + LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); params.topMargin = DpUtil.dp2px(1); mWebView.setLayoutParams(params); mWebView.setOverScrollMode(View.OVER_SCROLL_NEVER); @@ -114,7 +115,9 @@ public class MainHomeCommunityViewHolder extends AbsMainHomeChildViewHolder impl mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true); // 是否允许JS打开新窗口 mWebView.addJavascriptInterface(JavascriptInterfaceUtils.getInstance().setmContext(nowMainActivity, mWebView), "androidObject"); - + //短剧 + mWebView.addJavascriptInterface(JavascriptInterfacePlayLetUtils.getInstance().setmContext(nowMainActivity, mWebView), "jsBridge"); + mWebView.getSettings().setSupportMultipleWindows(true); rootView.addView(mWebView); mWebView.setWebViewClient(new WebViewClient() {