package me.iwf.photopicker.utils; import android.Manifest; import android.app.Activity; import android.content.pm.PackageManager; import android.os.Build; import android.support.annotation.RequiresApi; import android.support.v4.app.ActivityCompat; import android.support.v4.app.Fragment; import android.support.v4.content.ContextCompat; import static android.Manifest.permission.CAMERA; import static android.Manifest.permission.READ_EXTERNAL_STORAGE; import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE; /** * Created by donglua on 2016/10/19. */ public class PermissionsUtils { public static boolean checkReadStoragePermission(Activity activity) { if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.JELLY_BEAN) { return true; } int readStoragePermissionState = ContextCompat.checkSelfPermission(activity, READ_EXTERNAL_STORAGE); boolean readStoragePermissionGranted = readStoragePermissionState == PackageManager.PERMISSION_GRANTED; if (!readStoragePermissionGranted) { ActivityCompat.requestPermissions(activity, PermissionsConstant.PERMISSIONS_EXTERNAL_READ, PermissionsConstant.REQUEST_EXTERNAL_READ); } return readStoragePermissionGranted; } public static boolean checkWriteStoragePermission(Fragment fragment) { int writeStoragePermissionState = ContextCompat.checkSelfPermission(fragment.getContext(), WRITE_EXTERNAL_STORAGE); boolean writeStoragePermissionGranted = writeStoragePermissionState == PackageManager.PERMISSION_GRANTED; if (!writeStoragePermissionGranted) { fragment.requestPermissions(PermissionsConstant.PERMISSIONS_EXTERNAL_WRITE, PermissionsConstant.REQUEST_EXTERNAL_WRITE); } return writeStoragePermissionGranted; } public static boolean checkCameraPermission(Fragment fragment) { int cameraPermissionState = ContextCompat.checkSelfPermission(fragment.getContext(), CAMERA); boolean cameraPermissionGranted = cameraPermissionState == PackageManager.PERMISSION_GRANTED; if (!cameraPermissionGranted) { fragment.requestPermissions(PermissionsConstant.PERMISSIONS_CAMERA, PermissionsConstant.REQUEST_CAMERA); } return cameraPermissionGranted; } }