diff --git a/app/src/main/java/com/gh/common/util/ClassUtils.java b/app/src/main/java/com/gh/common/util/ClassUtils.java index f7d4858b2b..846a766ab0 100644 --- a/app/src/main/java/com/gh/common/util/ClassUtils.java +++ b/app/src/main/java/com/gh/common/util/ClassUtils.java @@ -1,9 +1,16 @@ package com.gh.common.util; +import android.text.TextUtils; + +import androidx.annotation.Nullable; + public class ClassUtils { + @Nullable public static Class forName(String name) { + if (TextUtils.isEmpty(name)) return null; + if ("NewsActivity".equals(name)) { name = "NewsDetailActivity"; } else if ("GameDetailsActivity".equals(name)) { diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index 49492485ad..114f63a548 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -3,7 +3,6 @@ package com.gh.common.util; import android.content.Context; import android.content.Intent; import android.os.Bundle; -import android.text.TextUtils; import com.gh.gamecenter.MainActivity; import com.gh.gamecenter.NormalActivity; @@ -131,18 +130,15 @@ public class EntranceUtils { && MainActivity.class.getName().equals(RunningUtils.getBaseActivity(context))) { // 应用正在运行,前台或后台 String to = bundle.getString(KEY_TO); - if (!TextUtils.isEmpty(to)) { - Class clazz = ClassUtils.forName(to); - if (clazz != null) { - if (NormalFragment.class.isAssignableFrom(clazz)) { // 兼容NormalFragment - NormalActivity.startFragmentNewTask(context, (Class) clazz, bundle); - } else { - Intent intent1 = new Intent(context, clazz); - intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); - intent1.putExtras(bundle); - context.startActivity(intent1); - } - } + Class clazz = ClassUtils.forName(to); + if (clazz == null) clazz = MainActivity.class; + if (NormalFragment.class.isAssignableFrom(clazz)) { // 兼容NormalFragment + NormalActivity.startFragmentNewTask(context, (Class) clazz, bundle); + } else { + Intent intent1 = new Intent(context, clazz); + intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); + intent1.putExtras(bundle); + context.startActivity(intent1); } } else { // 应用未在运行 diff --git a/app/src/main/java/com/gh/gamecenter/SkipActivity.java b/app/src/main/java/com/gh/gamecenter/SkipActivity.java index 7a8a399a50..9782bda23e 100644 --- a/app/src/main/java/com/gh/gamecenter/SkipActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SkipActivity.java @@ -7,6 +7,7 @@ import android.text.TextUtils; import com.gh.base.BaseActivity; import com.gh.common.util.DirectUtils; +import com.gh.common.util.EntranceUtils; import com.gh.common.util.PlatformUtils; import com.gh.common.util.RunningUtils; import com.gh.gamecenter.entity.CommunityEntity; @@ -139,6 +140,9 @@ public class SkipActivity extends BaseActivity { case HOST_VIDEO: DirectUtils.directToVideoDetail(this, id, VideoDetailContainerViewModel.Location.HOTTEST_GAME_VIDEO.getValue(), false, ENTRANCE_BROWSER, "浏览器"); break; + default: + EntranceUtils.jumpActivity(this, new Bundle()); // 跳转致首页 + return; } } }