Java Android Studio请求应用程序权限无法编译显示错误:缺少数组维度

Java Android Studio请求应用程序权限无法编译显示错误:缺少数组维度,java,android,compilation,Java,Android,Compilation,在尝试编译Android studio代码时,我遇到以下错误:缺少数组维度 }你可以试试这个 public void showCamera(View view){ ActivityCompat.requestPermissions( MainActivity.this, new String[]{Manifest.permission.CAMERA},

在尝试编译Android studio代码时,我遇到以下错误:缺少数组维度

}你可以试试这个

public void showCamera(View view){
     ActivityCompat.requestPermissions(
                        MainActivity.this,
                        new String[]{Manifest.permission.CAMERA},
                        CAMERA_REQUEST );
}
然后您需要覆盖onRequestPermissionsResult

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(requestCode == CAMERA_REQUEST){
            if(grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                callCamera();
            }else {
                Toast.makeText(getApplicationContext(), "Camera permission is needed to show the camera preview.", Toast.LENGTH_SHORT).show();
            }
            return;
            }

 super.onRequestPermissionsResult(requestCode, permissions, grantResults);
 }
有趣的calCamera()

并覆盖OnActivityResult

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK && data != null) {
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            imageView.setImageBitmap(photo);
        }

        super.onActivityResult(requestCode, resultCode, data);
  }
你可以试试这个

public void showCamera(View view){
     ActivityCompat.requestPermissions(
                        MainActivity.this,
                        new String[]{Manifest.permission.CAMERA},
                        CAMERA_REQUEST );
}
然后您需要覆盖onRequestPermissionsResult

@Override
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
if(requestCode == CAMERA_REQUEST){
            if(grantResults.length >0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
                callCamera();
            }else {
                Toast.makeText(getApplicationContext(), "Camera permission is needed to show the camera preview.", Toast.LENGTH_SHORT).show();
            }
            return;
            }

 super.onRequestPermissionsResult(requestCode, permissions, grantResults);
 }
有趣的calCamera()

并覆盖OnActivityResult

@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
 if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK && data != null) {
            Bitmap photo = (Bitmap) data.getExtras().get("data");
            imageView.setImageBitmap(photo);
        }

        super.onActivityResult(requestCode, resultCode, data);
  }

您缺少了一个大括号来关闭onCreate()。您应该查看一些java教程,以获得正确的基础知识。这里要做的是在一个方法中声明一个方法
onCreate(Bundle)
是一种将代码放在花括号中的方法
{}
在关闭
}
之前,在
onCreate(Bundle)
中声明另一个方法。因此,将您的
showCamera(View)
方法移到
onCreate(Bundle)
之外。我跟随了u,现在它显示了错误:数组维度丢失要关闭onCreate(),您缺少一个花括号。您应该查看一些java教程以获得正确的基础知识。这里要做的是在一个方法中声明一个方法
onCreate(Bundle)
是一种将代码放在花括号中的方法
{}
在关闭
}
之前,在
onCreate(Bundle)
中声明另一个方法。因此,将您的
showCamera(View)
方法移到
onCreate(Bundle)
之外。我跟随u,现在它显示错误:缺少数组维度