Просмотр исходного кода

主页中模块支持WebView或者外部浏览器显示h5

zengjiebin лет назад: 8
Родитель
Сommit
d6875302ad

+ 7 - 23
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -1,15 +1,12 @@
 package com.sheep.gamegroup.util;
 package com.sheep.gamegroup.util;
 
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Context;
 import android.graphics.Color;
 import android.graphics.Color;
-import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.GradientDrawable;
 import android.graphics.drawable.GradientDrawable;
 import android.text.Html;
 import android.text.Html;
 import android.text.TextUtils;
 import android.text.TextUtils;
 import android.view.ViewTreeObserver;
 import android.view.ViewTreeObserver;
-import android.widget.Switch;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
@@ -28,7 +25,6 @@ import com.sheep.gamegroup.presenter.TryMakeMoneyPresenter;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
-import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.umeng.socialize.UMAuthListener;
 import com.umeng.socialize.UMAuthListener;
 import com.umeng.socialize.UMShareAPI;
 import com.umeng.socialize.UMShareAPI;
@@ -322,25 +318,7 @@ public class CommonUtil {
             return;
             return;
         }
         }
         try {
         try {
-            switch (entity.getType()){
-                case 0://不跳转
-                default:
-
-                    break;
-                case 1://h5
-                    Jump2View.getInstance()
-                            .goWebview(context,
-                                    new WebviewEntity(0,
-                                            entity.getUrl(),
-                                            entity.getTitle()));
-                    break;
-                case 2://原生
-                    goNative(context, entity);
-                    break;
-                case 3://特殊h5
-                    goNative(context, entity);
-                    break;
-            }
+            goNative(context, entity);
         }catch (Exception e){
         }catch (Exception e){
             e.printStackTrace();
             e.printStackTrace();
         }
         }
@@ -382,6 +360,12 @@ public class CommonUtil {
             case 8://连续任务
             case 8://连续任务
                 Jump2View.getInstance().goTryplayView(context, 1);
                 Jump2View.getInstance().goTryplayView(context, 1);
                 break;
                 break;
+            case 98://内部WebView加载H5
+                Jump2View.getInstance().goWeb(context, entity.getUrl(), entity.getTitle());
+                break;
+            case 99://外部浏览器加载H5
+                Jump2View.getInstance().goWeb(context, entity.getUrl());
+                break;
             default:
             default:
 
 
                 break;
                 break;

+ 1 - 15
app/src/main/java/com/sheep/gamegroup/util/TestUtil.java

@@ -157,20 +157,6 @@ public class TestUtil {
     }
     }
 
 
     public static void test(Activity activity) {
     public static void test(Activity activity) {
-//        JSONArray jsonArray = new JSONArray();
-//        jsonArray.add(1);
-//        jsonArray.add(2);
-//        JSONObject jsonObject = new JSONObject();
-//        jsonObject.put("ProtocolId", jsonArray.toJSONString());
-//        JSONObject jsonObject1 = new JSONObject();
-//        jsonObject1.put("ProtocolId", jsonArray);
-//        LogUtil.println("testProtocolId = "+jsonObject.toString());
-//        LogUtil.println("testProtocolId = "+jsonObject1.toString());
-        Jump2View.getInstance().tryShowAgreement(activity, new Action1<String>() {
-            @Override
-            public void call(String msg) {
-                G.showToast(msg==null?"成功":msg);
-            }
-        });
+        Jump2View.getInstance().goWeb(activity, "https://m.leluncp.com/?tag_from=10800", "测试");
     }
     }
 }
 }

+ 1 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/ActCreditCardWeb.java

@@ -9,7 +9,6 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.webkit.WebViewClient;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
-import com.kfzs.android.view.widget.SafeWebView;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.gamegroup.model.entity.CreditCard;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.R;
@@ -31,7 +30,7 @@ import static com.kfzs.duanduan.bean.KFIntentKeys.EXTRA_WEBVIEW_NO_TITLE;
 public class ActCreditCardWeb extends BaseCompatActivity {
 public class ActCreditCardWeb extends BaseCompatActivity {
 
 
     @BindView(R.id.webview)
     @BindView(R.id.webview)
-    SafeWebView mWebView;
+    WebView mWebView;
     @BindView(R.id.tv_next)
     @BindView(R.id.tv_next)
     TextView tv_next;
     TextView tv_next;
 
 
@@ -56,7 +55,6 @@ public class ActCreditCardWeb extends BaseCompatActivity {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
             webViewSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
             webViewSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
         }
         }
-        mWebView.autoSettingWebViewDefaultByWideViewPort(this, false);
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
         }
         }

+ 1 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/ActGuideDeblocked.java

@@ -8,7 +8,6 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.webkit.WebViewClient;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
-import com.kfzs.android.view.widget.SafeWebView;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.orhanobut.logger.Logger;
 import com.orhanobut.logger.Logger;
@@ -30,7 +29,7 @@ import static com.kfzs.duanduan.bean.KFIntentKeys.EXTRA_WEBVIEW_NO_TITLE;
 public class ActGuideDeblocked extends BaseCompatActivity {
 public class ActGuideDeblocked extends BaseCompatActivity {
 
 
     @BindView(R.id.webview)
     @BindView(R.id.webview)
-    SafeWebView mWebView;
+    WebView mWebView;
     @BindView(R.id.tv_next)
     @BindView(R.id.tv_next)
     TextView tv_next;
     TextView tv_next;
 
 
@@ -54,7 +53,6 @@ public class ActGuideDeblocked extends BaseCompatActivity {
         tv_next.setVisibility(View.GONE);
         tv_next.setVisibility(View.GONE);
         webViewSettings = mWebView.getSettings();
         webViewSettings = mWebView.getSettings();
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
-        mWebView.autoSettingWebViewDefaultByWideViewPort(this, false);
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
         }
         }

+ 1 - 3
app/src/main/java/com/sheep/gamegroup/view/activity/ActGuideOnHook.java

@@ -7,7 +7,6 @@ import android.webkit.WebSettings;
 import android.webkit.WebView;
 import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.webkit.WebViewClient;
 
 
-import com.kfzs.android.view.widget.SafeWebView;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.kfzs.duanduan.bean.KFIntentKeys;
 import com.orhanobut.logger.Logger;
 import com.orhanobut.logger.Logger;
@@ -28,7 +27,7 @@ import static com.kfzs.duanduan.bean.KFIntentKeys.EXTRA_WEBVIEW_NO_TITLE;
 public class ActGuideOnHook extends BaseCompatActivity {
 public class ActGuideOnHook extends BaseCompatActivity {
 
 
     @BindView(R.id.webview)
     @BindView(R.id.webview)
-    SafeWebView mWebView;
+    WebView mWebView;
 
 
     private String extraUrl;
     private String extraUrl;
     private String extraTitle;
     private String extraTitle;
@@ -50,7 +49,6 @@ public class ActGuideOnHook extends BaseCompatActivity {
 
 
         webViewSettings = mWebView.getSettings();
         webViewSettings = mWebView.getSettings();
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
-        mWebView.autoSettingWebViewDefaultByWideViewPort(this, false);
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
         }
         }

+ 27 - 4
app/src/main/java/com/sheep/gamegroup/view/activity/ActWeb.java

@@ -13,7 +13,6 @@ import android.webkit.WebView;
 import android.webkit.WebViewClient;
 import android.webkit.WebViewClient;
 import android.widget.TextView;
 import android.widget.TextView;
 
 
-import com.kfzs.android.view.widget.SafeWebView;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.kfzs.duanduan.BaseCompatActivity;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.R;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
 import com.sheep.jiuyan.samllsheep.utils.ClassFileHelper;
@@ -39,7 +38,7 @@ import static com.kfzs.duanduan.bean.KFIntentKeys.EXTRA_WEBVIEW_NO_TITLE;
 public class ActWeb extends BaseCompatActivity {
 public class ActWeb extends BaseCompatActivity {
 
 
     @BindView(R.id.webview)
     @BindView(R.id.webview)
-    SafeWebView mWebView;
+    WebView mWebView;
     @BindView(R.id.tv_next)
     @BindView(R.id.tv_next)
     TextView tv_next;
     TextView tv_next;
 
 
@@ -60,13 +59,12 @@ public class ActWeb extends BaseCompatActivity {
                 .getInstance()
                 .getInstance()
                 .setTitle(this, title == null ? "加载中" : title)
                 .setTitle(this, title == null ? "加载中" : title)
                 .setTitleFinish(this);
                 .setTitleFinish(this);
-
+        initWebViewSettings(mWebView);
         webViewSettings = mWebView.getSettings();
         webViewSettings = mWebView.getSettings();
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
         webViewSettings.setJavaScriptCanOpenWindowsAutomatically(true);
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
         if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
             webViewSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
             webViewSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
         }
         }
-        mWebView.autoSettingWebViewDefaultByWideViewPort(this, false);
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
         if (getIntent().hasExtra(EXTRA_WEBVIEW_NO_TITLE)) {//不显示标题
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
             findViewById(R.id.appbar_act_webview).setVisibility(View.GONE);
         }
         }
@@ -74,6 +72,31 @@ public class ActWeb extends BaseCompatActivity {
         loadUrl();
         loadUrl();
     }
     }
 
 
+    public static void initWebViewSettings(WebView webView) {
+        webView.setClickable(true);
+        WebSettings webSetting = webView.getSettings();
+        webSetting.setJavaScriptEnabled(true);
+        webSetting.setJavaScriptCanOpenWindowsAutomatically(true);
+        webSetting.setAllowFileAccess(true);
+        webSetting.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.NARROW_COLUMNS);
+        webSetting.setSupportZoom(true);
+        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 的设计
+    }
 
 
     @Override
     @Override
     protected void onDestroy() {
     protected void onDestroy() {

+ 1 - 1
app/src/main/res/layout/activity_guide_on_hook.xml

@@ -8,7 +8,7 @@
 
 
     <include
     <include
         layout="@layout/title"/>
         layout="@layout/title"/>
-    <com.kfzs.android.view.widget.SafeWebView
+    <WebView
         android:id="@+id/webview"
         android:id="@+id/webview"
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="0dp"
         android:layout_height="0dp"