Android版本中的Android设备相机崩溃问题> 6

时间:2017-08-30 12:37:50

标签: android android-studio unity3d

在某些拥有Android版>的Android设备中6.0,当我访问相机时,设备相机被打开,当我捕获并接受图片时,相机正在崩溃(再次加载相机)并且我有相机访问权限。可以做些什么?任何想法?

1 个答案:

答案 0 :(得分:1)

您需要询问 run time permission ,因为从Android 6.0(API级别23)开始,用户在应用运行时向应用授予权限,而不是在他们安装应用时

  

使用以下代码询问相机的运行时间权限

String permission = android.Manifest.permission.CAMERA;
 if (ActivityCompat.checkSelfPermission(SearchCityClass.this, permission)
     != PackageManager.PERMISSION_GRANTED){
      ActivityCompat.requestPermissions(SearchCityClass.this, new String[]
                    {permission}, 1);

 }
  

现在处理permisiion结果

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
                                       @NonNull int[] grantResults) {
    super.onRequestPermissionsResult(requestCode, permissions, grantResults);
    if (requestCode == 1) {
        if (grantResults[0] == PackageManager.PERMISSION_GRANTED) {

            // perform your action here
            Toast.makeText(this, "Camera_permission_granted ", Toast.LENGTH_SHORT).show();

        } else {

            Toast.makeText(this, "Camera_permission_not_granted ", Toast.LENGTH_SHORT).show();
        }
    }

}