权限

2017-03-02  本文已影响50人  涛涛123759
private static final int REQUEST_EXTERNAL_STORAGE = 1;
private static String[] PERMISSIONS_STORAGE = {
        Manifest.permission.READ_EXTERNAL_STORAGE,
        Manifest.permission.WRITE_EXTERNAL_STORAGE };
/**
 * 手动设置SD卡权限
 * @param activity
 */
public static void verifySDPermissions(Activity activity) {
    // Check if we have write permission
    int permission = ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE);

    if (permission != PackageManager.PERMISSION_GRANTED) {
        // We don't have permission so prompt the user
        ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, REQUEST_EXTERNAL_STORAGE);

    }
}


private static final int TAKE_PHOTO_REQUEST_CODE = 1;
/**
 * 手动获取拍照权限
 * @param context
 */
public static void verifyPhotoPermissions(Context context) {
    if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.CAMERA},
                TAKE_PHOTO_REQUEST_CODE);

    }

}


/**
 * 手动获取麦克风权限
 * @param context
 */
public static void verifyRecorderPermissions(Context context) {
    int permission = ContextCompat.checkSelfPermission(context, Manifest.permission.RECORD_AUDIO);

    if (permission != PackageManager.PERMISSION_GRANTED) {
        //请求权限
        ActivityCompat.requestPermissions((Activity) context, new String[]{Manifest.permission.RECORD_AUDIO},
                TAKE_PHOTO_REQUEST_CODE);
    }
}


/**
 * 定位权限
 * @param context
 */
public static void verifyLocationPermissions(Context context){
    ActivityCompat.requestPermissions((Activity) context, new String[]{
                    //获取位置信息:
                    Manifest.permission.ACCESS_COARSE_LOCATION,
                    Manifest.permission.ACCESS_FINE_LOCATION,
                    //获取手机状态:
                    Manifest.permission.READ_PHONE_STATE,
                    //读写SD卡:
                    Manifest.permission.READ_EXTERNAL_STORAGE,
                    Manifest.permission.WRITE_EXTERNAL_STORAGE},
            TAKE_PHOTO_REQUEST_CODE);

}


/**
 * 获取权限
 * @param context
 */
public static void takePermissions(Context context) {
    //手动获取拍照, 定位权限
    if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions((Activity) context, new String[]{
                        //拍照:
                        Manifest.permission.CAMERA,
                        //获取位置信息:
                        Manifest.permission.ACCESS_COARSE_LOCATION,
                        Manifest.permission.ACCESS_FINE_LOCATION,
                        //获取手机状态:
                        Manifest.permission.READ_PHONE_STATE,
                        //读写SD卡:
                        Manifest.permission.READ_EXTERNAL_STORAGE,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE},
                TAKE_PHOTO_REQUEST_CODE);

    }
}
上一篇 下一篇

猜你喜欢

热点阅读