Здравствуйте, у меня есть эта проблема
Когда я запускаю свое приложение на Android в режиме отладки и при доступе к моей активности с именем CameraActivity отображается кнопка для съемки фотографии, но когда подтверждается правильность изображения, действие перезапускается и запрашивает фотографию снова, в другое действие имя LoginActivity показать диалоговое окно для запроса всех разрешений для пользователя с именем класса Permitions.js , мой вопрос, если в CameraActivity нужно Используйте снова класс для запроса разрешения на использование камеры или только при входе в систему.
Я пытаюсь с телефоном с Android 7 и представляю эту ошибку, но в телефоне с Android 6 нет этой ошибки
Оплаченный Добавьте код формы активности и класс:
- Форма CameraActivity
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == RESULT_OK) {
try {
//se crea un bitmap a partir de la uri de la imagen
Bitmap bitmap = MediaStore.Images.Media.getBitmap(
getContentResolver(), imageUri);<-- In this mark null but sometimes show the string in base64
//se muestra la foto
imageViewFoto.setImageBitmap(bitmap);
imageurl = getRealPathFromURI(imageUri);
//como la foto ya fue tomada se muestra el layout de nitidez
fotoTomada=true;
layoutTitle.setVisibility(View.GONE);
layoutCameraButton.setVisibility(View.GONE);
layoutNitidez.setVisibility(View.VISIBLE);
textViewMensaje.setVisibility(View.GONE);
} catch (Exception e) {
e.printStackTrace();
}
}
}
- Класс Permitions
public class Permisos {
private Context context;
private Activity activity;
private static final int MULTIPLE_PERMISSIONS_REQUEST_CODE = 3;
private String[] permissions = new String[]{
Manifest.permission.CAMERA,
Manifest.permission.BLUETOOTH,
Manifest.permission.BLUETOOTH_ADMIN,
Manifest.permission.WRITE_EXTERNAL_STORAGE,
Manifest.permission.READ_EXTERNAL_STORAGE,
Manifest.permission.ACCESS_FINE_LOCATION,
Manifest.permission.ACCESS_COARSE_LOCATION,
Manifest.permission.INTERNET,
Manifest.permission.ACCESS_NETWORK_STATE
};
public Permisos(Activity activity){
this.context = activity.getApplicationContext();
this.activity = activity;
}
public void permisos(){
//Verifica si los permisos establecidos se encuentran concedidos
if (ActivityCompat.checkSelfPermission(context, permissions[0]) != PackageManager.PERMISSION_GRANTED ||
ActivityCompat.checkSelfPermission(context, permissions[1]) != PackageManager.PERMISSION_GRANTED) {
//Si alguno de los permisos no esta concedido lo solicita
ActivityCompat.requestPermissions(activity, permissions, MULTIPLE_PERMISSIONS_REQUEST_CODE);
}
}
} * * тысяча двадцать-один
Спасибо: D