第一步:使用开源库,添加依赖
compile 'com.lovedise:permissiongen:0.0.6'
第二步:请求某权限
100-----requestCode
PermissionGen.needPermission(this,100,new String[]{Manifest.permission.CALL_PHONE});
第三步: 请求成功:@PermissionSuccess(requestCode = 100) 请求失败:@PermissionFail(requestCode = 100) 这里的requestCode对应的是请求时的请求码 将这个放在调用方法的前面
@PermissionSuccess(requestCode = 100) public void callPhone() { Intent i = new Intent(Intent.ACTION_CALL); Uri data = Uri.parse("tel:" + "10086"); i.setData(data); this.startActivity(i);//这是是系统提示可能会出错,编译时不会有影响 }
第三步: 将请求和请求结果关联起来
@Override public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { super.onRequestPermissionsResult(requestCode, permissions, grantResults); PermissionGen.onRequestPermissionsResult(this,requestCode,permissions,grantResults); }