如何授权相机?

时间:2016-11-07 19:43:30

标签: android

我只需要获得使用智能手机相机的许可方式。 我编写了这段代码,但没有出现权限请求对话框。

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;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

  

requestPermissions()未被调用,因为" ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.CAMERA)"是真的

步骤1:显示一些基本原理(对话框,零食栏,UI中的内联,等等)

步骤2:当用户点击该理由用户界面中的特定内容时(例如,确定按钮),请致电requestPermissions()

或者,如果您不想显示请求权限的理由,请不要致电shouldShowRequestPermissionRationale()