diff --git a/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java b/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java index 43469e6c4..61e6ca35a 100644 --- a/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java +++ b/iFish7/src/main/java/com/ifish/activity/LoadingActivity.java @@ -2,6 +2,7 @@ package com.ifish.activity; import android.app.AlertDialog; import android.content.Context; +import android.content.DialogInterface; import android.content.Intent; import android.graphics.Color; import android.media.AudioManager; @@ -31,6 +32,7 @@ import androidx.annotation.NonNull; import com.alibaba.sdk.android.httpdns.HttpDns; import com.alibaba.sdk.android.httpdns.HttpDnsService; import com.bumptech.glide.Glide; +import com.ifish.activity.newbind.NewBindDeviceActivity; import com.ifish.basebean.AdInfos; import com.ifish.basebean.BaseBean; import com.ifish.basebean.Device; @@ -43,6 +45,7 @@ import com.ifish.geewe.DeviceCamera; import com.ifish.permission.PermissionHelper; import com.ifish.utils.ActivityManager; import com.ifish.utils.AnimationUtil; +import com.ifish.utils.AppUtil; import com.ifish.utils.Commons; import com.ifish.utils.Commons.LoginSPKey; import com.ifish.utils.Commons.NetWork; @@ -53,6 +56,7 @@ import com.ifish.utils.HttpManager; import com.ifish.utils.L; import com.ifish.utils.SPUtil; import com.ifish.utils.ToastUtil; +import com.ifish.view.IosAlertDialog; import com.ifish.view.SuperTextView; import com.igexin.sdk.PushManager; import com.squareup.picasso.Picasso; @@ -111,7 +115,7 @@ public class LoadingActivity extends BaseActivityNotAnim { private PermissionHelper permissionHelper; private static String firstShowPrivacy = "firstShowPrivacy"; - + String[] permission; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -122,16 +126,81 @@ public class LoadingActivity extends BaseActivityNotAnim { if (savedInstanceState != null) { setIntent(new Intent()); // 从堆栈恢复,不再重复解析之前的intent } + permission = AppUtil.getBluePermissionList(); + permissionHelper = new PermissionHelper(this, permission, 250); + // Boolean showPrivacy = SPUtil.getInstance(getApplicationContext()).getBoolean(firstShowPrivacy, false); Boolean aBoolean = ConfigUtil.getInstance(getApplicationContext()).getBoolean(LoginSPKey.IS_FirstOpen, false); if(!aBoolean && !showPrivacy){ startPrivacyTextDialog(); }else{ - initapp(); + getPermission(); } } + private void getPermission() { + permissionHelper.request(new PermissionHelper.PermissionCallback() { + @Override + public void onPermissionGranted() { + initapp(); + } + + @Override + public void onIndividualPermissionGranted(String[] grantedPermission) { + initapp(); +// AlertDialog.Builder dialog = new AlertDialog.Builder(LoadingActivity.this); +// dialog.setCancelable(false); +// dialog.setMessage("蓝牙联网,请先同意app获取蓝牙相关权限x"); +// dialog.setPositiveButton("确定", new DialogInterface.OnClickListener() { +// @Override +// public void onClick( +// DialogInterface dialog, +// int which) { +// +// } +// }); +// dialog.setNegativeButton("取消", new DialogInterface.OnClickListener() { +// @Override +// public void onClick(DialogInterface dialog, int which) { +// } +// }); +// dialog.show(); + } + + @Override + public void onPermissionDenied() { + initapp(); + } + + @Override + public void onPermissionDeniedBySystem() { +// IosAlertDialog dialog = new IosAlertDialog(LoadingActivity.this).builder(); +// dialog.setCancelable(false); +// dialog.setTitle("权限申请理由"); +// dialog.setMessage("蓝牙联网,请到应用信息页面-权限管理-打开蓝牙权限"); +// dialog.setNegativeButton("取消", view -> { +// initapp(); +// }); +// dialog.setPositiveButton("去开启", view -> +// { +// AppUtil.toAuthority(LoadingActivity.this); +// }); +// dialog.show(); + initapp(); + } + }); + } + + @Override + public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + if (permissionHelper != null) { + permissionHelper.onRequestPermissionsResult(requestCode, permissions, grantResults); + } + } + + private void analysisBaseUrlError(){ showProgressDialog(); @@ -901,7 +970,8 @@ public class LoadingActivity extends BaseActivityNotAnim { SPUtil.getInstance(getApplicationContext()).putBoolean(firstShowPrivacy,true); // getPermission(); // pushInit(); - initapp(); +// initapp(); + getPermission(); } }); }