React Native Picker не отвечает на Android 11 при принятии сфотографииAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 React Native Picker не отвечает на Android 11 при принятии сфотографии

Сообщение Anonymous »

Я сталкиваюсь с проблемой с React-C-Image-Picker на устройстве Android 11, где после снимка приложение не отвечает на значок Tick (Checkmark), который нажимает, чтобы принять изображение. Интерфейс камеры позволяет мне отменить камеру или вернуть изображение без каких -либо проблем, но нажатие клеща, чтобы принять и сохранить изображение, не продолжается, как и ожидалось. Эта проблема не возникает на устройствах, использующих версии Android старше 11 лет, где сборщик изображений работает как задумано.const requestGalleryPermission = async () => {
try {
const permissions = [
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
PermissionsAndroid.PERMISSIONS.CAMERA,
];
const granted = await PermissionsAndroid.requestMultiple(permissions);

const storageGranted = granted[PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE] === PermissionsAndroid.RESULTS.GRANTED;
const writeGranted = granted[PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE] === PermissionsAndroid.RESULTS.GRANTED;
const cameraGranted = granted[PermissionsAndroid.PERMISSIONS.CAMERA] === PermissionsAndroid.RESULTS.GRANTED;

if (storageGranted && cameraGranted && writeGranted) {
console.log('Both read storage and camera permissions granted');
return true;
} else {
console.log('Read storage or camera permission denied');
return false;
}
} catch (err) {
console.warn('Permission request error:', err);
return false;
}
};

export const handleCameraLaunch = async (launchCameraEvent) => {
const options = {
mediaType: 'photo',
includeBase64: true,
maxHeight: 2000,
maxWidth: 2000,
};
const permission = requestGalleryPermission();
if (permission) {
await launchCamera(options, response => {
if (response.didCancel) {
console.log('User cancelled camera');
} else if (response.error) {
console.log('Camera Error: ', response.error);
} else {
console.log('Taking photo');
launchCameraEvent(response);
}
});
}
};
< /code>
Я гарантировал, что все необходимые разрешения предоставляются, и Androidmanifest.xml включает разрешения для камеры и read_external_storage, а также добавление Android: requestlegacyexternalstorage = "true". Я нацелен на уровень API 30 (Android 11) и протестировал на нескольких устройствах. Проблема, по -видимому, сохраняется конкретно на Android 11. Любая помощь или руководство будут высоко оценены.

Подробнее здесь: https://stackoverflow.com/questions/780 ... taken-phot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»