package com.android.app_base.manager; import android.Manifest; import android.app.Activity; import android.os.Build; import androidx.annotation.NonNull; import com.android.app_base.utils.GlideEngine; import com.android.app_base.utils.SPUtils; import com.android.app_base.utils.ToastUtils; import com.blankj.utilcode.util.PermissionUtils; import com.luck.picture.lib.basic.PictureSelector; import com.luck.picture.lib.config.SelectMimeType; import com.luck.picture.lib.entity.LocalMedia; import com.luck.picture.lib.interfaces.OnResultCallbackListener; import java.io.File; import java.util.ArrayList; /** * @author Ljj * @date 2023.03.25. 19:50 * @desc */ public class UserManager { private static UserManager instance; private UserManager(){ } public static UserManager getInstance() { if (instance == null){ instance = new UserManager(); } return instance; } /** * 是否有权限 */ public boolean isGranted(@NonNull String... permissions) { return PermissionUtils.isGranted(permissions); } /** * 获取权限 */ public void getPermissions(PermissionUtils.SimpleCallback simpleCallback, @NonNull String... permissions) { if (isGranted(permissions)){ simpleCallback.onGranted(); return; } PermissionUtils.permission(permissions).callback(simpleCallback).request(); } /** * 选择图片 */ public void selectImage(Activity activity,int maxSelectNum,OnResultCallbackListener onResultCallbackListener){ String[] permissions; if (Build.VERSION.SDK_INT >= 33) { permissions = new String[]{Manifest.permission.READ_MEDIA_IMAGES, Manifest.permission.READ_MEDIA_VIDEO, Manifest.permission.READ_MEDIA_AUDIO, Manifest.permission.CAMERA}; }else { permissions = new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.CAMERA}; } getPermissions(new PermissionUtils.SimpleCallback() { @Override public void onGranted() { PictureSelector.create(activity) .openGallery(SelectMimeType.ofImage()) .setImageEngine(GlideEngine.createGlideEngine()) .setPermissionsInterceptListener(new OnPermissionsInterceptListenerImpl()) .isMaxSelectEnabledMask(true)// 达到最大选择数是否开启禁选蒙层 .setMaxSelectNum(maxSelectNum) .forResult(onResultCallbackListener); } // @Override public void onDenied() { ToastUtils.showShort("请开启相关权限"); } }, permissions); } public void setToken(String token){ SPUtils.getInstance("tokenInfo").put("token",token); } public void clearToken(){ SPUtils.getInstance("tokenInfo").clear(); } public String getToken(){ return SPUtils.getInstance("tokenInfo").getString("token"); } }