Browse Source

[增加cookie清理判断优化

zeki 4 years ago
parent
commit
fecd1f23cd

+ 13 - 13
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/FgtWebX5.java

@@ -466,18 +466,8 @@ public class FgtWebX5 extends BaseFgtWebX5 {
 
             @Override
             public WebResourceResponse shouldInterceptRequest(WebView webView, String s) {
-                if (s.contains("page-error.css")&&getWebUrl().contains("h5.qzone.qq.com")) {
-                    List<String> hostList = new ArrayList<>();
-                    hostList.add("h5.qzone.qq.com");
-                    WebViewUtils.deleteWebViewCookiesForDomains(getContext(),hostList);
-                    Log.d("!!!!!!s", "清理了cookie~~~");
-                    AndroidSchedulers.mainThread().scheduleDirect(() -> {
-                        loadJs("window.location.reload()");
-                    /*//鱼死网破
-                    needWxLogin = true;
-                    kfzsJs.loginThirdPartApp("wx");*/
-                    });
-                }
+                Log.d("!!!!!!", s);
+
 
                 /*if (url.contains("h5.qzone.qq.com")) {
                     Log.d("!!!!!!",s);
@@ -487,6 +477,17 @@ public class FgtWebX5 extends BaseFgtWebX5 {
                         kfzsJs.loginThirdPartApp("wx");
                     }
                 }*/
+
+                if (s.contains("pic-error.png") && getWebUrl().contains("h5.qzone.qq.com")) {
+                    List<String> hostList = new ArrayList<>();
+                    hostList.add("h5.qzone.qq.com");
+                    WebViewUtils.deleteWebViewCookiesForDomains(getContext(), hostList);
+                    Log.d("!!!!!!s", "清理了cookie~~~");
+                    AndroidSchedulers.mainThread().scheduleDirect(() -> {
+                        loadJs("window.location.reload()");
+                    });
+                }
+
                 return super.shouldInterceptRequest(webView, s);
             }
 
@@ -805,7 +806,6 @@ public class FgtWebX5 extends BaseFgtWebX5 {
         for (String key : cookieMap.keySet()) {
             cookieManager.setCookie(host, key + "=" + cookieMap.get(key));
         }
-        cookieManager.flush();
         CookieSyncManager.createInstance(getContext()).sync();
         if (needWxLogin) {
             needWxLogin = false;

+ 1 - 2
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/WebViewUtils.java

@@ -19,7 +19,6 @@ public class WebViewUtils {
     }
 
     public static void deleteWebViewCookiesForDomain(Context context, String domain, boolean secure) {
-        CookieSyncManager csm = CookieSyncManager.createInstance(context);
         CookieManager cm = CookieManager.getInstance();
 
         /* http://code.google.com/p/android/issues/detail?id=19294 */
@@ -49,7 +48,7 @@ public class WebViewUtils {
                  * cm.setCookie(domain, cookieParts[0] + "=");
                  * cm.setCookie(domain, cookieParts[0]); */
             }
-            csm.sync();
+            CookieSyncManager.getInstance().sync();
         }
     }
 }

+ 5 - 0
app/src/main/java/com/sheep/gamegroup/util/h5game/H5GameUtil.java

@@ -1,6 +1,8 @@
 package com.sheep.gamegroup.util.h5game;
 
 import android.app.Activity;
+import android.app.Fragment;
+import android.content.Context;
 import android.net.Uri;
 import android.util.Log;
 import com.alibaba.fastjson.JSONObject;
@@ -10,6 +12,8 @@ import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.wxutil.WXAPIUtil;
+import com.tencent.smtt.sdk.CookieManager;
+import com.tencent.smtt.sdk.CookieSyncManager;
 import com.umeng.socialize.UMAuthListener;
 import com.umeng.socialize.UMShareAPI;
 import com.umeng.socialize.bean.SHARE_MEDIA;
@@ -63,6 +67,7 @@ public class H5GameUtil {
         String host = uri.getHost();
         Log.d("--COOKIE--",cookies.toString());
         iWeb.setCookies(host, cookies);
+        CookieSyncManager.getInstance().sync();
         iWeb.loadJs("handleLogin(1)");
         iWeb.loadJs("window.location.reload()");
         H5GameUtil.submitH5GameRecord(

+ 0 - 2
app/src/main/java/com/sheep/jiuyan/samllsheep/base/BaseFragment.java

@@ -182,14 +182,12 @@ public abstract class BaseFragment extends RxFragment {
                             switch (intent.getStringExtra(ProcessEventUtil.KEY_PROCESS_EVENT_TYPE)) {
                                 case ProcessEventUtil.EVENT_WX_LOGIN_AUTH:
                                     Log.d("######","···收到微信登录广播");
-                                    abortBroadcast();
                                     onProcessEvent(GsonUtils.getGlobalGson().fromJson(intent.getStringExtra(ProcessEventUtil.KEY_PROCESS_EVENT_JSON), WXLoginAuthEvent.class));
                                     context.unregisterReceiver(getBroadcastReceiver());
                                     hasRegister = false;
                                     break;
                                 case ProcessEventUtil.EVENT_PAY_RESP:
                                     Log.d("######","···收到支付广播");
-                                    abortBroadcast();
                                     onProcessEvent(GsonUtils.getGlobalGson().fromJson(intent.getStringExtra(ProcessEventUtil.KEY_PROCESS_EVENT_JSON), PayResp.class));
                                     context.unregisterReceiver(getBroadcastReceiver());
                                     hasRegister = false;