1 在manifest 文件中声明要使用的权限:
<uses-permission android:name="android.permission.CAMERA" />
2 在 gradle中增加依赖:
implementation 'pub.devrel:easypermissions:3.0.0'
3 在Activity 中定义以下2个方法:
public static final int RC_CAMERA_AND_LOCATION = 123 ;
@AfterPermissionGranted(RC_CAMERA_AND_LOCATION)
private void methodRequiresTwoPermission() {
String[] perms = {Manifest.permission.CAMERA};
if (EasyPermissions.hasPermissions(this, perms)) {
Toast.makeText(this,"Ok",Toast.LENGTH_LONG).show();
} else {
Toast.makeText(this,"no",Toast.LENGTH_LONG).show();
// Do not have permissions, request them now
EasyPermissions.requestPermissions(this, "1111",
RC_CAMERA_AND_LOCATION, perms);
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
EasyPermissions.onRequestPermissionsResult(requestCode, permissions, grantResults, this);
}
在你需要申请动态权限的时候 调用methodRequiresTwoPermission这个方法就可以 。
完美。