package com.secondworld.sdk; import android.app.Application; import android.content.Intent; import android.content.pm.PackageManager; import android.os.Handler; import com.secondworld.sdk.utils.LogUtil; import com.unity3d.player.UnityPlayer; public abstract class GameApp extends Application { public static GameApp I; public String appId = ""; protected boolean isDemo = false; @Override public void onCreate() { super.onCreate(); newInstance(); initPlatformDiff(); LogUtil.Init(this); UnityMsgHandler.initCommandMap(); registerProxy(); initSdk(); } protected void newInstance() { I = this; } protected abstract void initPlatformDiff(); protected void registerProxy() { } protected void initSdk() { } public void appExit() { new Handler().postDelayed(new Runnable() { @Override public void run() { android.os.Process.killProcess(android.os.Process.myPid());// 杀进程 } }, 1000); if (UnityPlayer.currentActivity != null) UnityPlayer.currentActivity.finish(); } public void restartApp() { new Handler().postDelayed(() -> { String _pn = I.getPackageName(); PackageManager packageManager = I.getPackageManager(); Intent intent = packageManager.getLaunchIntentForPackage(_pn); intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); I.startActivity(intent); android.os.Process.killProcess(android.os.Process.myPid());// 杀进程 }, 1000); if (UnityPlayer.currentActivity != null) UnityPlayer.currentActivity.finish(); } //是否位demo public boolean isDemo() { return isDemo; } }