Files
assistant-android/app/src/main/java/com/gh/gamecenter/receiver/InstallReceiver.java
2016-10-11 10:07:04 +08:00

61 lines
2.1 KiB
Java

package com.gh.gamecenter.receiver;
import android.content.BroadcastReceiver;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import com.gh.common.util.PackageUtils;
import com.gh.common.util.RunningUtils;
import com.gh.gamecenter.DownloadManagerActivity;
import com.gh.gamecenter.SplashScreenActivity;
import com.gh.gamecenter.eventbus.EBMiPush;
import de.greenrobot.event.EventBus;
/**
* Created by LGT on 2016/10/10.
*/
public class InstallReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String path = intent.getStringExtra("path");
if (PackageUtils.isCanLaunchSetup(context, path)) {
context.startActivity(PackageUtils.getInstallIntent(path));
} else {
if (RunningUtils.isRunning(context)) {
if (RunningUtils.isEqualsTop(context, DownloadManagerActivity.class.getName())) {
// 这里是指从后台返回到前台 前两个的是关键
Intent intent2 = new Intent();
intent2.setAction(Intent.ACTION_MAIN);
intent2.addCategory(Intent.CATEGORY_LAUNCHER);
intent2.setComponent(new ComponentName(context, DownloadManagerActivity.class));
intent2.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT
| Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
context.startActivity(intent2);
EventBus.getDefault().post(new EBMiPush("plugin_install", path));
} else {
Intent intent2 = new Intent(context,
DownloadManagerActivity.class);
intent2.putExtra("currentItem", 0);
intent2.putExtra("path", path);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
} else {
// 应用未在运行
Intent intent2 = new Intent(context, SplashScreenActivity.class);
intent2.setAction(Intent.ACTION_MAIN);
intent2.addCategory(Intent.CATEGORY_LAUNCHER);
intent2.putExtra("from", "plugin_install");
intent2.putExtra("path", path);
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent2);
}
}
}
}