hch
2023-06-26 5837b6e09a6072eca67f6ca8d4c76fbb36e93e5e
SdkProject/plugins/quick/java/com/secondworld/sdk/QuickSdkMgr.java
@@ -48,41 +48,28 @@
    int REQUEST_RECORD_PERMISSION_SETTING = 110;
    private 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.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;
//        return ContextCompat.checkSelfPermission(activity,
//                Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED;
    }
    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);
                        Manifest.permission.READ_PHONE_STATE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 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 初始化SDK失败");
@@ -124,11 +111,11 @@
    }
    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("SdkManager", "onActivityResult");
            requestPermissions(activity);
        }
    }
@@ -381,7 +368,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