Постановка проблемы:
Я пытаюсь использовать библиотеку React-native-contacts для получения контактов в моем приложении React Native. Однако даже после предоставления необходимого разрешения возникает следующая ошибка:Код: Выделить всё
Permission: granted
(NOBRIDGE) LOG [TypeError: Cannot read property 'getAll' of null]
Среда:
- Версия React Native: 0.76.4
- Библиотека: response-native-contacts ()
Код: Выделить всё
^8.0.4
- Платформа: Android
- ОС: Windows-11
- Устройство: эмулятор и Физическое устройство
Код:
Здесь это мой код:ContactsScreen.tsx:
Код: Выделить всё
import React, { useEffect } from 'react';
import Contacts from 'react-native-contacts';
import { View, Text, StyleSheet, PermissionsAndroid } from 'react-native';
const ContactsScreen: React.FC = () => {
const contacts = () => {
PermissionsAndroid.request(PermissionsAndroid.PERMISSIONS.READ_CONTACTS, {
title: 'Contacts',
message: 'This app would like to view your contacts.',
buttonPositive: 'Please accept bare mortal',
})
.then((res) => {
console.log('Permission: ', res);
Contacts.getAll()
.then((contacts) => {
console.log(contacts);
})
.catch((e) => {
console.log(e);
});
})
.catch((error) => {
console.error('Permission error: ', error);
});
}
useEffect(() => {
contacts();
}, []);
return (
Contacts
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
padding: 16,
backgroundColor: '#f9f9f9',
},
});
export default ContactsScreen;
Код: Выделить всё
Что я пробовал:
- Проверено что разрешения предоставляются с использованием журналов.
- Очистил и пересобрал проект с помощью npx-react-native run-android.
- Проверил документация response-native-contacts для подтверждения API использование.
- Подтвердил, что разрешения указаны в AndroidManifest.xml.
- Я даже пробовал cd android && gradlew clean && cd ..
Ожидаемое поведение:
Приложение должно получать и отображать контакты после получения разрешений. предоставлено.Фактическое поведение:
Даже если приложение регистрирует, что разрешение предоставлено, выдается следующая ошибка:Код: Выделить всё
TypeError: Cannot read property 'getAll' of null
Дополнительные примечания:
- Я следил за шаги по установке React-Native-Contacts согласно документации.
- Проблема сохраняется как на эмуляторах, так и на физических устройствах.
Почему модуль «Контакты» возвращает значение null для метода getAll? Есть ли какой-то шаг, который я пропустил во время установки или настройки? Мне нужно просто получить доступ ко всем контактам, а потом я найду способ оформить их в стильном формате. Просто сначала нужно получить контакты.
Любой ответ приветствуется, я трачу почти 2-3 дня безрезультатно.
Спасибо всем.
Подробнее здесь: https://stackoverflow.com/questions/792 ... ve-contact