Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
125 of 196 menu
◀ ▶

Класс PermissionsAndroid

Класс PermissionsAndroid работает только на Android. Константы PERMISSIONS задают имена разрешений. Константы RESULTS описывают ответ пользователя. Методы check, request и requestMultiple возвращают промис со строкой или объектом результатов.

Синтаксис

import { PermissionsAndroid } from 'react-native'; PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.CAMERA);

Значения

Значение Описание
CAMERA Доступ к камере устройства.
ACCESS_FINE_LOCATION Точная геолокация.
ACCESS_COARSE_LOCATION Приблизительная геолокация.
RECORD_AUDIO Запись звука с микрофона.
POST_NOTIFICATIONS Показ уведомлений на новых версиях Android.
READ_CONTACTS Чтение списка контактов.
GRANTED Пользователь разрешил доступ. Строка результата 'granted'.
DENIED Доступ отклонён. Строка результата 'denied'.
NEVER_ASK_AGAIN Отказ с запретом повторного запроса. Строка 'never_ask_again'.

Имена разрешений берут из PermissionsAndroid.PERMISSIONS, константы результатов - из PermissionsAndroid.RESULTS.

Методы

Метод Описание
request Показывает системный запрос одного разрешения.
check Проверяет текущий статус без диалога.
requestMultiple Запрашивает несколько разрешений за один вызов.

Пример

Давайте проверим камеру перед запросом:

import { PermissionsAndroid } from 'react-native'; PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.CAMERA).then((res) => { console.log(res); });

Промис вернёт true или false без показа диалога.

Пример

Давайте запросим микрофон из компонента на Android:

import { View, Text, Pressable, PermissionsAndroid, Platform } from 'react-native'; export default function App() { const ask = async () => { if (Platform.OS !== 'android') { return; } await PermissionsAndroid.request( PermissionsAndroid.PERMISSIONS.RECORD_AUDIO, ); }; return ( <View> <Pressable onPress={ask}> <Text>abcde</Text> </Pressable> </View> ); }

На экране текст 'abcde'; на Android по нажатию откроется системный диалог.

Смотрите также

  • метод request,
    который показывает диалог разрешения
  • метод openSettings,
    который открывает настройки приложения
  • класс Platform,
    который отличает Android
  • класс ToastAndroid,
    который показывает короткое сообщение на Android
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить