我只需要获得使用智能手机相机的许可方式。 我编写了这段代码,但没有出现权限请求对话框。
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;
}
}
}
答案 0 :(得分:1)
requestPermissions()未被调用,因为" ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.CAMERA)"是真的
步骤1:显示一些基本原理(对话框,零食栏,UI中的内联,等等)
步骤2:当用户点击该理由用户界面中的特定内容时(例如,确定按钮),请致电requestPermissions()
或者,如果您不想显示请求权限的理由,请不要致电shouldShowRequestPermissionRationale()
。