From d8b2d3f9717d0f23bf86b9a99b39aedb700c4dd3 Mon Sep 17 00:00:00 2001 From: hch <305670599@qq.com> Date: 星期二, 13 八月 2024 12:18:06 +0800 Subject: [PATCH] 0312 越南华为包同步新引擎 --- SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java | 72 +++++++++++++++++++---------------- 1 files changed, 39 insertions(+), 33 deletions(-) diff --git a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java index 95c127b..9531b08 100644 --- a/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java +++ b/SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java @@ -47,52 +47,46 @@ public String channelID; int REQUEST_RECORD_PERMISSION_SETTING = 110; - private boolean hasPermissions(Activity activity) { + public boolean hasPermissions(Activity activity) { + //鏉冮檺鎻愬彇鍒板悇鑷」鐩腑 // return (ContextCompat.checkSelfPermission(activity, // Manifest.permission.READ_PHONE_STATE) == PackageManager.PERMISSION_GRANTED) // && (ContextCompat.checkSelfPermission(activity, // Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED); - return ContextCompat.checkSelfPermission(activity, - Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED; + String[] permissionStr = PlatformDiff.I.platformPermission(); + for (int i = 0; i < permissionStr.length; i++) + { + if (ContextCompat.checkSelfPermission(activity, permissionStr[i]) != PackageManager.PERMISSION_GRANTED) + { + return false; + } + } + return true; } public void requestPermissions(Activity activity) { -// try { -// // check鏉冮檺 -// if (!hasPermissions(activity)) { -// // 娌℃湁鍒欑敵璇锋潈闄� -// ActivityCompat.requestPermissions(activity, new String[]{ -// Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK); -// } else { -// QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey()); -// QuickSdkMgr.I.init(activity); -// } -// } catch (Exception e) { -// //QuickSdkMgr.I.init(activity); -// ActivityCompat.requestPermissions(activity, new String[]{ -// Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK); -// } -// ActivityCompat.requestPermissions(activity, new String[]{ -// Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK); + try { if (!hasPermissions(activity)) { - ActivityCompat.requestPermissions(activity, new String[]{ - Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK); + ActivityCompat.requestPermissions(activity, PlatformDiff.I.platformPermission(), RequestCode.QUICK); + } + else + { + QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey()); + QuickSdkMgr.I.init(activity); } - //QuickSdkMgr.I.register(PlatformDiff.I.platformProductCode(), PlatformDiff.I.platformProductKey()); - //QuickSdkMgr.I.init(activity); } catch (Exception e) { LogUtil.i("SdkManager", "requestPermissions 鍒濆鍖朣DK澶辫触"); } } - public void onRequestPermissionsResult(Activity activity, int requestCode, int[] grantResults) { + public void onRequestPermissionsResult(Activity activity, int requestCode, int[] grantResults, String[] permissions) { if (requestCode != RequestCode.QUICK) return; - //1768娓犻亾涓�瀹氶渶瑕佹潈闄� + if (hasPermissions(activity)) { LogUtil.i("SdkManager", "onRequestPermissionsResult 鐢宠鎴愬姛"); //鐢宠鎴愬姛 @@ -124,13 +118,14 @@ } public void onActivityResult(Activity activity, int requestCode) { -// if (requestCode == REQUEST_RECORD_PERMISSION_SETTING) -// { -// LogUtil.i("SdkManager", "onActivityResult"); -// requestPermissions(activity); -// } + if (requestCode == REQUEST_RECORD_PERMISSION_SETTING) + { + LogUtil.i("unity-sdk", "onActivityResult"); + requestPermissions(activity); + } } + public void init(Activity activity) { sdkInitState = SdkInitState.LOADING; @@ -261,7 +256,6 @@ LogUtil.debug("SdkManager", "鍒濆鍖栨垚鍔�"); UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk); } - @Override public void onFailed(String message, String trace) { //鍒濆鍖栧け璐� @@ -293,6 +287,7 @@ e.printStackTrace(); LogUtil.e("SdkManager 鐧诲綍鎴愬姛", e); } + PlatformDiff.I.LoginSuccess(); verifyRealName(); } @@ -381,7 +376,18 @@ @Override public void onSuccess() { //閫�鍑烘垚鍔燂紝娓告垙鍦ㄦ鍋氳嚜韬殑閫�鍑洪�昏緫澶勭悊 - UnityMsgHandler.sendMessageToUnity(CodeA2U.ExitGame); + //UnityMsgHandler.sendMessageToUnity(CodeA2U.ExitGame); + if (GameActivityProxy.I.activity == null) + { + UnityMsgHandler.sendMessageToUnity(CodeA2U.ExitGame); + return; + } + LogUtil.i("SdkManager", "activity閫�鍑�"); + GameActivityProxy.I.activity.finish(); + android.os.Process.killProcess(android.os.Process.myPid()); + System.exit(0); + + } @Override -- Gitblit v1.8.0