第一步:使用开源库,添加依赖
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);
}