我正在尝试从应用程序内部访问相机。我有以下代码,并且所有程序都在工作,除了它没有给用户授予权限的选项。不太确定出了什么问题。
public void takePicture(视图){
if (checkSelfPermission(Manifest.permission.CAMERA) != PackageManager.PERMISSION_GRANTED)
{
//requestPermissions(new String[]{Manifest.permission.CAMERA},MY_CAMERA_PERMISSION_CODE);
activityCompat.requestPermissions(this,new String[] {Manifest.permission.CAMERA},MY_CAMERA_PERMISSION_CODE);
}
else
{
Intent cameraIntent = new Intent(android.provider.MediaStore.actION_IMAGE_CAPTURE);
startactivityForResult(cameraIntent,CAMERA_REQUEST);
}
}
public void saveButton (View view) {
Log.i("info","stuff");
}
public void onRequestPermissionsResult(int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults)
{
super.onRequestPermissionsResult(requestCode,permissions,grantResults);
if (requestCode == MY_CAMERA_PERMISSION_CODE)
{
if (grantResults[0] == PackageManager.PERMISSION_GRANTED)
{
Toast.makeText(this,"camera permission granted",Toast.LENGTH_LONG).show();
Intent cameraIntent = new Intent(android.provider.MediaStore.actION_IMAGE_CAPTURE);
startactivityForResult(cameraIntent,CAMERA_REQUEST);
}
else
{
Toast.makeText(this,"camera permission denied",Toast.LENGTH_LONG).show();
}
}
}
protected void onactivityResult(int requestCode,int resultCode,Intent data) {
super.onactivityResult(requestCode,resultCode,data);
if (requestCode == CAMERA_REQUEST && resultCode == activity.RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
单击按钮后,吐司会显示是否尚未授予权限,但首先没有选择授予权限的选项?