| | |
| | | import androidx.core.content.ContextCompat; |
| | | |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.other.HdlDialogLogic; |
| | | import com.hdl.photovoltaic.other.HdlThreadLogic; |
| | | import com.hjq.permissions.OnPermissionCallback; |
| | | import com.hjq.permissions.XXPermissions; |
| | |
| | | /** |
| | | * 获取权限状态 |
| | | */ |
| | | public static int getAuthorizeStaus(Activity activity, String authorize) { |
| | | public static int getPermissionState(Activity activity, String authorize) { |
| | | int flag = ActivityCompat.checkSelfPermission(activity, authorize); |
| | | boolean isShould = ActivityCompat.shouldShowRequestPermissionRationale(activity, authorize); |
| | | if (isShould) { |
| | |
| | | * @param permission - |
| | | * @param permissionStateCallback - |
| | | */ |
| | | public static void applyForRight(Activity activity, String permission, PermissionState permissionStateCallback) { |
| | | public static void requestPermissionsResultCallback(Activity activity, String permission, PermissionState permissionStateCallback) { |
| | | // String permission = Manifest.permission.WRITE_EXTERNAL_STORAGE; |
| | | int status = PermissionUtils.getAuthorizeStaus(activity, permission); |
| | | int status = PermissionUtils.getPermissionState(activity, permission); |
| | | switch (status) { |
| | | case PermissionUtils.STATUS_SUCCESS: |
| | | if (permissionStateCallback != null) { |
| | |
| | | }); |
| | | break; |
| | | case PermissionUtils.STATUS_REFUSE_PERMANENT: |
| | | if (permissionStateCallback != null) { |
| | | permissionStateCallback.Success(STATUS_REFUSE_PERMANENT); |
| | | } |
| | | |
| | | // if (permissionStateCallback != null) { |
| | | // permissionStateCallback.Success(STATUS_REFUSE_PERMANENT); |
| | | // } |
| | | HdlDialogLogic.getInstance().showSettingPermissionDialog(activity); |
| | | break; |
| | | } |
| | | } |