123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- package com.edufound.mobile.application;
- import android.app.Activity;
- import android.app.ActivityManager;
- import android.app.Application;
- import android.content.Context;
- import android.content.Intent;
- import android.support.annotation.Nullable;
- import android.view.Window;
- import com.edufound.mobile.R;
- import com.edufound.mobile.pay.PayInit;
- import com.edufound.mobile.util.ContextUtil;
- import com.edufound.mobile.util.Logger;
- import com.edufound.mobile.util.SPutil;
- import com.umeng.commonsdk.UMConfigure;
- import com.umeng.message.IUmengRegisterCallback;
- import com.umeng.message.PushAgent;
- import org.android.agoo.huawei.HuaWeiRegister;
- import org.android.agoo.vivo.VivoRegister;
- import org.android.agoo.xiaomi.MiPushRegistar;
- import java.lang.reflect.Field;
- import java.lang.reflect.Method;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- public class EApplication extends Application {
- final String XIAOMI_ID = "";
- final String XIAOMI_KEY = "";
- @Override
- public void onCreate() {
- super.onCreate();
- ContextUtil.setContext(this);
- ContextUtil.setApplication(this);
- //上线关掉debug模式
- ContextUtil.setIsDebug(true);
- //根据appcode初始化支付sdk
- UMConfigure.setLogEnabled(true);
- UMConfigure.init(this, "5e34d2fb4ca3574b1800005b", getAppCode() + "", UMConfigure.DEVICE_TYPE_PHONE, "dfc59afd6dc6b1550ff1c2e0c7eb10fd");
- PushAgent mPushAgent = PushAgent.getInstance(this);
- mPushAgent.register(new IUmengRegisterCallback() {
- @Override
- public void onSuccess(String deviceToken) {
- Logger.e("DeviceToken:" + deviceToken);
- }
- @Override
- public void onFailure(String s, String s1) {
- Logger.e("注册失败:--------> " + "s:" + s + ",s1:" + s1);
- }
- });
- if (getAppCode().equals(getString(R.string.app_code_xm))) {
- MiPushRegistar.register(this, XIAOMI_ID, XIAOMI_KEY);
- } else if (getAppCode().equals(getString(R.string.app_code_huawei))) {
- HuaWeiRegister.register(this);
- } else if (getAppCode().equals(getString(R.string.app_code_vivo))) {
- VivoRegister.register(this);
- }
- PayInit.getInstance().initPaySDK(Integer.valueOf(getAppCode()), EApplication.this);
- if (!getPackageName().equals(
- getProcessName(getApplicationContext(), android.os.Process.myPid()))) {
- return;
- }
- //如果是新应用,默认设置播放器为ijkplayer
- if (SPutil.getPrefInt(this, SPutil.videoType, 0) == 0) {
- SPutil.setPrefInt(this, SPutil.videoType, SPutil.VIDEO_IJKPLAYER);
- }
- /*
- * AppKey
- 5e34d2fb4ca3574b1800005b
- Umeng Message Secret
- dfc59afd6dc6b1550ff1c2e0c7eb10fd
- App Master Secret
- ojy29ycnnynpvyetpunc2m0ija4vskyo
- *
- * */
- }
- public static void exitApp() {
- Intent intent_close = new Intent(ContextUtil.CLOSE_ACTIVITY_SPLASH);
- ContextUtil.getContext().sendBroadcast(intent_close);
- }
- private static List<Activity> getAllActivitys() {
- List<Activity> list = new ArrayList<>();
- try {
- Class<?> activityThread = Class.forName("android.app.ActivityThread");
- Method currentActivityThread = activityThread.getDeclaredMethod("currentActivityThread");
- currentActivityThread.setAccessible(true);
- //获取主线程对象
- Object activityThreadObject = currentActivityThread.invoke(null);
- Field mActivitiesField = activityThread.getDeclaredField("mActivities");
- mActivitiesField.setAccessible(true);
- Map<Object, Object> mActivities = (Map<Object, Object>) mActivitiesField.get(activityThreadObject);
- for (Map.Entry<Object, Object> entry : mActivities.entrySet()) {
- Object value = entry.getValue();
- Class<?> activityClientRecordClass = value.getClass();
- Field activityField = activityClientRecordClass.getDeclaredField("activity");
- activityField.setAccessible(true);
- Object o = activityField.get(value);
- list.add((Activity) o);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return list;
- }
- public static void clearActivity() {
- List<Activity> myAclist = getAllActivitys();
- for (int i = 0; i < myAclist.size(); i++) {
- myAclist.get(i).finish();
- }
- }
- @Nullable
- public String getProcessName(Context cxt, int pid) {
- ActivityManager am = (ActivityManager) cxt.getSystemService(Context.ACTIVITY_SERVICE);
- if (am == null) {
- return null;
- }
- List<ActivityManager.RunningAppProcessInfo> runningApps = am.getRunningAppProcesses();
- if (runningApps != null && !runningApps.isEmpty()) {
- for (ActivityManager.RunningAppProcessInfo procInfo : runningApps) {
- if (procInfo.pid == pid) {
- return procInfo.processName;
- }
- }
- }
- return null;
- }
- public static String getAppCode() {
- //记得改友盟code
- return ContextUtil.getContext().getString(R.string.app_code_yf);
- }
- }
|