Procházet zdrojové kódy

[增加]cookie清理判断优化

zeki před 4 roky
rodič
revize
7f23f08119

+ 0 - 2
app/src/main/java/com/sheep/gamegroup/module/webview/fragment/BaseFgtWebX5.java

@@ -18,7 +18,6 @@ import com.sheep.gamegroup.model.api.IWeb;
 import com.sheep.gamegroup.model.entity.TaskEty;
 import com.sheep.gamegroup.util.CommonUtil;
 import com.sheep.gamegroup.util.DownloadUtil;
-import com.sheep.gamegroup.util.LogUtil;
 import com.sheep.gamegroup.util.SysAppUtil;
 import com.sheep.gamegroup.util.TestUtil;
 import com.sheep.gamegroup.util.UMConfigUtils;
@@ -28,7 +27,6 @@ import com.sheep.jiuyan.samllsheep.SheepApp;
 import com.sheep.jiuyan.samllsheep.base.BaseFragment;
 import com.sheep.jiuyan.samllsheep.utils.G;
 import com.sheep.jiuyan.samllsheep.utils.PackageUtil;
-import com.sheep.jiuyan.samllsheep.utils.SpUtils;
 import com.tencent.mm.opensdk.constants.ConstantsAPI;
 import com.tencent.mm.opensdk.modelpay.PayResp;
 import com.tencent.smtt.sdk.CookieManager;

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

@@ -468,7 +468,6 @@ public class FgtWebX5 extends BaseFgtWebX5 {
             public WebResourceResponse shouldInterceptRequest(WebView webView, String s) {
                 Log.d("!!!!!!", s);
 
-
                 /*if (url.contains("h5.qzone.qq.com")) {
                     Log.d("!!!!!!",s);
                     if (s.contains("pic-error.png")||s.contains("page-error.css")) {
@@ -478,16 +477,21 @@ public class FgtWebX5 extends BaseFgtWebX5 {
                     }
                 }*/
 
-                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()");
-                    });
+                if (url.contains("h5.qzone.qq.com")) {
+                    if (s.equals("https://qzonestyle.gtimg.cn/qz-proj/qz-common/img/m-error/pic-error.png")) {
+                        List<String> hostList = new ArrayList<>();
+                        hostList.add("h5.qzone.qq.com");
+                        WebViewUtils.deleteWebViewCookiesForDomains(getContext(), hostList);
+                        //CookieManager.getInstance().removeAllCookies(null);
+                        CookieManager.getInstance().flush();
+                        CookieSyncManager.createInstance(getContext()).sync();
+
+                        Log.d("!!!!!!s", "清理了cookie~~~");
+                        AndroidSchedulers.mainThread().scheduleDirect(() -> {
+                            loadJs("window.location.reload()");
+                        });
+                    }
                 }
-
                 return super.shouldInterceptRequest(webView, s);
             }
 

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

@@ -1,6 +1,7 @@
 package com.sheep.gamegroup.module.webview.fragment;
 
 import android.content.Context;
+import android.util.Log;
 import com.tencent.smtt.sdk.CookieManager;
 import com.tencent.smtt.sdk.CookieSyncManager;
 
@@ -13,14 +14,14 @@ import java.util.Collection;
 public class WebViewUtils {
     public static void deleteWebViewCookiesForDomains(Context context, Collection<String> domains) {
         for (String d : domains) {
-            deleteWebViewCookiesForDomain(context, d, false);
+            //deleteWebViewCookiesForDomain(context, d, false);
             deleteWebViewCookiesForDomain(context, d, true);
         }
     }
 
     public static void deleteWebViewCookiesForDomain(Context context, String domain, boolean secure) {
         CookieManager cm = CookieManager.getInstance();
-
+        cm.setAcceptCookie(true);
         /* http://code.google.com/p/android/issues/detail?id=19294 */
         /*if (AndroidUtils.SDK_INT >= 11) {
             // don't trim leading '.'s
@@ -33,6 +34,7 @@ public class WebViewUtils {
          * https) (although they do have an optional 'secure' flag.) */
         domain = "http" + (secure ? "s" : "") + "://" + domain;
         String cookieGlob = cm.getCookie(domain);
+        Log.d("@@@@@@",cookieGlob);
         if (cookieGlob != null) {
             String[] cookies = cookieGlob.split(";");
             for (String cookieTuple : cookies) {

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

@@ -61,6 +61,10 @@ public class H5GameUtil {
         }
     }
 
+
+
+
+
     public static void onH5GameFinally(IWeb iWeb,String nickName, String platform, Map<String, String> cookies) {
         cookies.put("nickname", nickName);
         Uri uri = Uri.parse(iWeb.getWebUrl());
@@ -69,7 +73,7 @@ public class H5GameUtil {
         iWeb.setCookies(host, cookies);
         CookieSyncManager.getInstance().sync();
         iWeb.loadJs("handleLogin(1)");
-        iWeb.loadJs("window.location.reload()");
+        //iWeb.loadJs("window.location.reload()");
         H5GameUtil.submitH5GameRecord(
                 2,
                 cookies.get("openid"),