Kaynağa Gözat

new finish all activities method

hanjing 7 yıl önce
ebeveyn
işleme
ed17cd10c6

+ 0 - 16
app/src/main/AndroidManifest.xml

@@ -270,22 +270,6 @@
         <activity
             android:name="com.sheep.gamegroup.view.activity.DialogToastAct"
             android:theme="@style/MyDialogActivityTheme" />
-
-        <!-- &lt;!&ndash;半袋米首页&ndash;&gt; -->
-        <!-- <activity -->
-        <!-- android:name="com.kfzs.duanduan.ActMain" -->
-        <!-- android:configChanges="keyboardHidden|screenSize|orientation" -->
-        <!-- android:exported="true" -->
-        <!-- android:hardwareAccelerated="true" -->
-        <!-- android:launchMode="singleTask" -->
-        <!-- android:screenOrientation="portrait" -->
-        <!-- android:theme="@style/AppTheme" -->
-        <!-- android:windowSoftInputMode="adjustPan|stateHidden"> -->
-        <!-- <intent-filter> -->
-        <!-- <category android:name="android.intent.category.DEFAULT" /> -->
-        <!-- <action android:name="android.intent.action.VIEW" /> -->
-        <!-- </intent-filter> -->
-        <!-- </activity> -->
         <activity
             android:name="com.sheep.gamegroup.view.activity.ActMain"
             android:configChanges="keyboardHidden|screenSize|orientation"

+ 6 - 36
app/src/main/java/com/sheep/gamegroup/util/ActivityManager.java

@@ -77,42 +77,12 @@ public class ActivityManager {
     }
 
     /**
-     * 弹出class外的所有activity
-     */
-    public void popAllActivityExceptThis(Class<? extends Activity> cls) {
-        while (true) {
-            Activity activity = currentActivity();
-            if (activity == null) {
-                break;
-            }
-            if (activity.getClass().equals(cls)) {
-                break;
-            }
-            popActivity(activity);
-        }
-    }
-
-    /**
-     * 结束除cls之外的所有activity,将执行结果都会清空stack
-     */
-    public void finishAllActivityExceptThis(Class<? extends Activity> cls) {
-        while (!activityStack.empty()) {
-            Activity activity = currentActivity();
-            if (activity.getClass().equals(cls)) {
-                popActivity(activity);
-            } else {
-                endActivity(activity);
-            }
-        }
-    }
-
-    /**
      * 结束所有activity
      */
-    public void finishAllActivity() {
-        while (!activityStack.empty()) {
-            Activity activity = currentActivity();
-            endActivity(activity);
-        }
-    }
+//    public void finishAllActivity() {
+//        while (!activityStack.empty()) {
+//            Activity activity = currentActivity();
+//            endActivity(activity);
+//        }
+//    }
 }

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

@@ -48,7 +48,7 @@ public class CertificationUtil {
                 SheepApp.getInstance().setGamePackgeName("");
                 SheepApp.getInstance().setGameCode("");
                 SheepApp.getInstance().setGameFlag(false);
-                ActivityManager.getInstance().finishAllActivity();
+                SheepApp.getInstance().quit();
             }
         }, skip_time);
     }

+ 4 - 3
app/src/main/java/com/sheep/gamegroup/util/CommonUtil.java

@@ -65,6 +65,7 @@ import com.sheep.gamegroup.model.entity.XiaomiGameEntity;
 import com.sheep.gamegroup.model.util.EntityUtils;
 import com.sheep.gamegroup.model.util.SheepSubscriber;
 import com.sheep.gamegroup.usage.AppUsageManager;
+import com.sheep.gamegroup.view.activity.ActMain;
 import com.sheep.gamegroup.view.activity.GameTaskOrderListAct;
 import com.sheep.gamegroup.view.dialog.DialogNewbieTaskList;
 import com.sheep.jiuyan.samllsheep.BuildConfig;
@@ -644,9 +645,9 @@ public class CommonUtil {
         DataUtil.getInstance().clearData();
         //删除自动审核任务中保存的数据,防止用户切换账号后直接提交
         DDProviderHelper.getInstance().deleteTaskRecord();
-        ActivityManager.getInstance().finishAllActivity();
-        Jump2View.getInstance().goLoginView(activity, "");
-
+        Intent intent = new Intent(activity, ActMain.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.putExtra("INTENT_ACTION", "LOGOUT");
+        activity.startActivity(intent);
         activity.finish();
     }
 

+ 3 - 2
app/src/main/java/com/sheep/gamegroup/util/Jump2View.java

@@ -1437,8 +1437,9 @@ public class Jump2View {
         SpUtils.saveToken(SheepApp.getInstance(), "");
         DataUtil.getInstance().clearData();
         G.showToast(TextUtils.isEmpty(o) ? "请重新登录" : o);
-        ActivityManager.getInstance().finishAllActivity();
-        Jump2View.getInstance().goLoginView(SheepApp.getInstance(), o);
+        Intent intent = new Intent(SheepApp.getInstance(), ActMain.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        intent.putExtra("INTENT_ACTION", "LOGOUT");
+        SheepApp.getInstance().startActivity(intent);
     }
 
     public void gotoGuide(final Activity activity) {

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

@@ -162,9 +162,8 @@ public class TestUtil {
                                                     DataUtil.getInstance().initUserEntity(userEntity);
                                             }
                                         });
-                                        ActivityManager.getInstance().finishAllActivity();
                                         Intent intent = new Intent(SheepApp.getInstance(), ActMain.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-                                        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+                                        intent.putExtra("INTENT_ACTION", "LOGOUT");
                                         SheepApp.getInstance().startActivity(intent);
                                     } else if (object instanceof String) {
                                         switch (object.toString()) {

+ 9 - 0
app/src/main/java/com/sheep/gamegroup/view/activity/ActMain.java

@@ -85,6 +85,15 @@ public class ActMain extends BaseActYmPermissionCheck {
     }
 
     @Override
+    public void onNewIntent(Intent intent){
+        super.onNewIntent(intent);
+        if("LOGOUT".equals(intent.getStringExtra("INTENT_ACTION"))) {
+            Jump2View.getInstance().goLoginView(this, "");
+            finish();
+        }
+    }
+
+    @Override
     public void onWindowFocusChanged(boolean hasFocus) {
         super.onWindowFocusChanged(hasFocus);
         setSystemUiVisibility();