Ошибка камеры androrid - PullRequest
0 голосов
/ 06 ноября 2018

Здравствуйте, у меня есть эта проблема Когда я запускаю свое приложение на 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...