package com.secondworld.univeralsdk; import android.Manifest; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.content.res.Configuration; import android.net.Uri; import android.os.Bundle; import android.os.Process; import android.provider.Settings; import android.support.annotation.NonNull; import android.support.v4.content.PermissionChecker; import android.view.View; import android.widget.FrameLayout; import android.widget.RelativeLayout; import com.unity3d.player.UnityPlayerActivity; import com.xiaoniu.enter.XNSDK; public class MainActivity extends UnityPlayerActivity { private static final String TAG = "MainActivity"; public static boolean isForeground = false; // 启用6.0以上权限回调code // private static final int CODE_REQUEST_PERMISSION = 1000; private RelativeLayout m_MainContainer; private int mType; private boolean isNotch = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LogUtil.i(TAG, "onCreate"); LogUtil.init(this, true); setContentView(R.layout.activity_main); m_MainContainer = (RelativeLayout) findViewById(R.id.main_container); String _brand = NotchPhoneUtil.getDeviceBrand(); if (_brand.toUpperCase().contains("VIVO")) { isNotch = NotchPhoneUtil.HasNotchVivo(MainActivity.this); mType = 1; } else if (_brand.toUpperCase().contains("HUAWEI") || _brand.toUpperCase().contains("HONOR")) { // isNotch = NotchPhoneUtil.hasNotchAtHuawei(this);; // mType = 2; } else if (_brand.toUpperCase().contains("OPPO")) { isNotch = NotchPhoneUtil.HasNotchOPPO(MainActivity.this); mType = 3; } else if (_brand.toUpperCase().contains("XIAOMI")) { isNotch = NotchPhoneUtil.HasNotchXiaoMi(); mType = 4; } NotchPhoneUtil.onConfigurationChanged(this, isNotch, mType, m_MainContainer); FrameLayout _frameLayout = (FrameLayout) findViewById(R.id.unity_view); View unityView = mUnityPlayer.getView(); _frameLayout.addView(unityView); H2EngineSDK.onCreate(this, savedInstanceState); } @Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); XNSDK.getInstance().onRequestPermissionsResult(requestCode); } @Override public void onWindowFocusChanged(boolean b) { super.onWindowFocusChanged(b); H2EngineSDK.onWindowFocusChanged(b); } @Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); H2EngineSDK.onNewIntent(this, intent); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { H2EngineSDK.onActivityResult(requestCode, resultCode, data, this); super.onActivityResult(requestCode, resultCode, data); } @Override public void onConfigurationChanged(Configuration newConfig) { NotchPhoneUtil.onConfigurationChanged(this, isNotch, mType, m_MainContainer); H2EngineSDK.onConfigurationChanged(newConfig); super.onConfigurationChanged(newConfig); } @Override protected void onStart() { H2EngineSDK.onStart(this); super.onStart(); } @Override protected void onStop() { isForeground = false; H2EngineSDK.onStop(this); super.onStop(); } @Override protected void onResume() { isForeground = true; H2EngineSDK.onResume(this); super.onResume(); // 检测本地存储权限是否有, 没有的话要提示用户 if (PermissionChecker.checkPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE, Process.myPid(), Process.myUid(), getPackageName()) != PackageManager.PERMISSION_GRANTED || PermissionChecker.checkPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE, Process.myPid(), Process.myUid(), getPackageName()) != PackageManager.PERMISSION_GRANTED) { new AlertDialog.Builder(this) .setMessage("应用没有存储读取权限,点击确定至设置中开启,否则无法继续游戏.") .setCancelable(false) .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { UniversalUtil.hasGoToSetting = true; Intent intent = new Intent( Settings.ACTION_APPLICATION_DETAILS_SETTINGS); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); Uri uri = Uri.fromParts("package", getPackageName(), null); intent.setData(uri); startActivity(intent); } }) .setNegativeButton("拒绝", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { finish(); } }) .show(); } } @Override protected void onPause() { H2EngineSDK.onPause(this); super.onPause(); } @Override protected void onDestroy() { H2EngineSDK.onDestroy(this); super.onDestroy(); } @Override protected void onRestart() { H2EngineSDK.onRestart(this); super.onRestart(); } }