ReactNative] 안드로이드 권한설정

김종혁·2023년 4월 26일
0

React Native

목록 보기
2/4

yarn add react-native-contacts를 통해 연락처 접근권한을 얻으려고 했다.

import { PermissionsAndroid } from 'react-native';
import Contacts from 'react-native-contacts';

async function requestContactsPermission() {
  try {
    const granted = await PermissionsAndroid.request(
      PermissionsAndroid.PERMISSIONS.READ_CONTACTS,
      {
        title: '연락처 접근 권한이 필요합니다.',
        message: '앱에서 연락처에 접근하려면 권한이 필요합니다.',
        buttonNeutral: '나중에 묻기',
        buttonNegative: '거부',
        buttonPositive: '허용',
      },
    );
    if (granted === PermissionsAndroid.RESULTS.GRANTED) {
      console.log('연락처 접근 권한을 얻었습니다.');
      // 연락처를 불러올 수 있는 코드를 작성하세요.
    } else {
      console.log('연락처 접근 권한이 거부되었습니다.');
    }
  } catch (err) {
    console.warn(err);
  }
}

해당 방식을 참고하여 실행하려고 하였으나, 계속해서 접근권한이 거부되었다고 찍혔다.

다시 검색해서 찾아보고 그 이유를 알 수 있었다.

android/app/src/main/AndroidManifest.xml 안에
<manifest> 태그 안의 <uses-permission> 태그 아래에 추가해야했다.

<uses-permission android:name="android.permission.READ_CONTACTS" />

추가로 전화번호부를 가져오려고 할 때는

Contacts.getAll((err, contacts) => { if (err) { throw err; } console.log(contacts); });

를 사용하면 된다.

profile
세상을 한 걸음씩 발전시키고 싶습니다.

0개의 댓글