权限
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);
}
}