AdStubActivity.java 源代码


package com.x8zs.ad;

import android.app.Activity;
import android.app.ActivityManager;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.util.Log;
import com.x8zs.model.event.ActivityEvent;
import com.x8zs.model.event.AppAccEvent;
import java.util.Iterator;
import java.util.List;

public class AdStubActivity extends Activity {
    private static final String TAG = "AdStubActivity";

    private void fixRecentTaskIssue() {
        if (Build.VERSION.SDK_INT < 23) {
            return;
        }
        try {
            List<ActivityManager.AppTask> appTasks = ((ActivityManager) getSystemService("activity")).getAppTasks();
            if (appTasks == null) {
                return;
            }
            Iterator<ActivityManager.AppTask> it = appTasks.iterator();
            while (it.hasNext()) {
                it.next().finishAndRemoveTask();
            }
        } catch (Throwable th) {
            th.printStackTrace();
        }
    }

    private void handleExternalRequest(Intent intent) {
        AppAccEvent appAccEvent = (AppAccEvent) intent.getParcelableExtra("acc_event");
        if (appAccEvent != null) {
            Log.d(TAG, "[handleExternalRequest] acc");
            AdManagerEx.getInstance().onAppAccEvent(this, appAccEvent, intent.getExtras().getBinder("messenger"));
        }
        ActivityEvent activityEvent = (ActivityEvent) intent.getParcelableExtra("activity_event");
        if (activityEvent != null) {
            Log.d(TAG, "[handleExternalRequest] activity");
            AdManagerEx.getInstance().onAppActivityEvent(this, activityEvent);
        }
        overridePendingTransition(0, 0);
        finish();
        fixRecentTaskIssue();
    }

    @Override
    protected void onCreate(Bundle bundle) {
        super.onCreate(bundle);
        overridePendingTransition(0, 0);
        handleExternalRequest(getIntent());
    }
}