Files
assistant-android/app/src/main/java/com/gh/gamecenter/receiver/ActivitySkipReceiver.java
2024-04-12 14:52:46 +08:00

50 lines
1.7 KiB
Java

package com.gh.gamecenter.receiver;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import com.gh.gamecenter.core.utils.ClassUtils;
import com.gh.gamecenter.common.utils.ExtensionsKt;
import com.gh.gamecenter.SplashScreenActivity;
import com.halo.assistant.HaloApp;
/**
* Created by khy on 2016/9/1.
* 光环插件跳转助手
*/
public class ActivitySkipReceiver extends BroadcastReceiver {
public static final String ACTION_ACTIVITY_SKIP = "com.gh.gamecenter.ACTIVITYSKIP";
@Override
public void onReceive(Context context, Intent intent) {
ExtensionsKt.doOnMainProcessOnly(() -> {
if (ACTION_ACTIVITY_SKIP.equals(intent.getAction())) {
Bundle bundle = intent.getExtras();
if (HaloApp.getInstance().isRunningForeground && bundle != null) {
// 应用正在运行,前台或后台
String to = bundle.getString("to");
if (!TextUtils.isEmpty(to)) {
Class<?> clazz = ClassUtils.forName(to);
if (clazz != null) {
Intent intent1 = new Intent(context, clazz);
intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent1.putExtras(bundle);
context.startActivity(intent1);
}
}
} else {
// 应用未在运行
context.startActivity(SplashScreenActivity.getSplashScreenIntent(context, bundle));
}
}
return null;
});
}
}