首先引入依赖
compile 'pub.devrel:easypermissions:0.3.0'
其次实现EasyPermissions.PermissionCallbacks接口
implements EasyPermissions. PermissionCallbacks
定义所需权限的数组
private static final int REQUEST_CODE_SAVE_IMG = 10 ;
String[ ] mPermissionList = new String [ ] { Manifest. permission. READ_EXTERNAL_STORAGE , Manifest. permission. WRITE_EXTERNAL_STORAGE } ;
实现接口中的方法
@Override
public void onRequestPermissionsResult ( int requestCode, String[ ] permissions, int[ ] grantResults) {
super . onRequestPermissionsResult ( requestCode, permissions, grantResults) ;
EasyPermissions. onRequestPermissionsResult ( requestCode, permissions, grantResults, this ) ;
}
@Override
public void onPermissionsGranted ( int requestCode, List< String> list) {
}
@Override
public void onPermissionsDenied ( int requestCode, List< String> perms) {
if ( EasyPermissions. somePermissionPermanentlyDenied ( this , perms) ) {
new AppSettingsDialog. Builder ( this ) . build ( ) . show ( ) ;
}
}
调用方法:
if ( EasyPermissions. hasPermissions ( MainActivity. this , mPermissionList) ) {
具体的业务方法
} else {
EasyPermissions. requestPermissions (
MainActivity. this ,
"保存图片需要读取sd卡的权限" ,
REQUEST_CODE_SAVE_IMG ,
mPermissionList
) ;
}