Я создал систему с функцией камеры. Эта камера должна сделать фотографию и сохранить ее в базе данных. Если я захочу использовать функцию камеры, появится всплывающее сообщение, чтобы приложения могли использовать камеру или нет. Если я нажму «Разрешить», я могу сделать фотографию с камеры. Но когда я нажимаю «Запретить», то, если я нажимаю кнопку камеры назад, приложение перестает работать.
Таким образом, я хочу, чтобы разрешение камеры автоматически разрешалось, что означает, если пользователь нажимает камеру кнопка, там нет всплывающего сообщения, чтобы выбрать разрешить или запретить. Может кто-нибудь хочет знать, как решить?
Ниже мой текущий код для камеры
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_task_update_before);
EnableRuntimePermission();
btnCameraBefore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 7);
}
});
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 7 && resultCode == RESULT_OK) {
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
imgAttachBefore.setImageBitmap(bitmap);
photoBefore();
}
}
public void EnableRuntimePermission(){
if (ActivityCompat.shouldShowRequestPermissionRationale(TaskUpdateBefore.this,
Manifest.permission.CAMERA))
{
Toast.makeText(TaskUpdateBefore.this,"CAMERA permission allows us to Access CAMERA app", Toast.LENGTH_LONG).show();
} else {
ActivityCompat.requestPermissions(TaskUpdateBefore.this,new String[]{
Manifest.permission.CAMERA}, RequestPermissionCode);
}
}
@Override
public void onRequestPermissionsResult(int RC, String per[], int[] PResult) {
switch (RC) {
case RequestPermissionCode:
if (PResult.length > 0 && PResult[0] == PackageManager.PERMISSION_GRANTED) {
Toast.makeText(TaskUpdateBefore.this,"Permission Granted, Now your application can access CAMERA.", Toast.LENGTH_LONG).show();
} else {
Toast.makeText(TaskUpdateBefore.this,"Permission Canceled, Now your application cannot access CAMERA.", Toast.LENGTH_LONG).show();
}
break;
}
}