| | |
| | | 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 { |
| | | if (!hasPermissions(activity)) { |
| | | ActivityCompat.requestPermissions(activity, new String[]{ |
| | | Manifest.permission.WRITE_EXTERNAL_STORAGE}, RequestCode.QUICK); |
| | | ActivityCompat.requestPermissions(activity, PlatformDiff.I.platformPermission(), RequestCode.QUICK); |
| | | } |
| | | else |
| | | { |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | public void init(Activity activity) { |
| | | sdkInitState = SdkInitState.LOADING; |
| | | Sdk.getInstance().init(activity, productCode, productKey); |
| | | } |
| | | |
| | | public void login() { |
| | | switch (sdkInitState) { |
| | | case FAILED: |
| | | case UNKNOWN: { |
| | | if (GameActivityProxy.I.activity == null) |
| | | return; |
| | | if (hasPermissions(GameActivityProxy.I.activity)) { |
| | | //init(BtGameMain.I.activity); |
| | | Toast.makeText(GameAppProxy.app, "异常请重启游戏", Toast.LENGTH_LONG).show(); |
| | | } |
| | | break; |
| | | } |
| | | case SUCCEED: { |
| | | //User.getInstance().login(GameActivityProxy.I.activity); |
| | | GameActivityProxy.I.activity.runOnUiThread(new Runnable() |
| | | { |
| | | @Override |
| | | public void run() |
| | | { |
| | | User.getInstance().login(GameActivityProxy.I.activity); |
| | | } |
| | | }); |
| | | break; |
| | | } |
| | | case LOADING: { |
| | | Toast.makeText(GameAppProxy.app, "正在初始化中,请稍等!", Toast.LENGTH_LONG).show(); |
| | | break; |
| | | } |
| | | } |
| | | PlatformDiff.I.Login(); |
| | | } |
| | | |
| | | public void loginOut() { |
| | |
| | | sdkInitState = SdkInitState.SUCCEED; |
| | | LogUtil.debug("SdkManager", "初始化成功"); |
| | | UnityMsgHandler.sendMessageToUnity(CodeA2U.PlatformInitOk); |
| | | PlatformDiff.I.RegisterEvent("youxitu"); |
| | | } |
| | | |
| | | @Override |
| | | public void onFailed(String message, String trace) { |
| | | //初始化失败 |