我只需要一种方法来获得使用智能手机相机的权限。 我写了这段代码,但没有出现权限请求对话框。如何授予相机权限?
在OnCreate:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(this, Manifest.permission.CAMERA)) {
} else {
ActivityCompat.requestPermissions(this,
new String[]{Manifest.permission.CAMERA}, 1);
}
}
}
@Override
public void onRequestPermissionsResult(int requestCode, String permissions[], int[] grantResults) {
switch (requestCode) {
case 1: {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// my code after granted permission
} else {
}
return;
}
}
}
当您在调试器中逐步浏览代码时,您学到了什么?你真的调用'requestPermissions()'吗? – CommonsWare
@CommonsWare不,requestPermissions()不会被调用,因为“ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.CAMERA)”为true。 – xRobot