RN_난 분명 권한을 줬는데 왜..Blocked? (android 권한 설정)

JSkim·2022년 9월 26일
0
post-thumbnail

권한 관련해서 계속 blocked 가 뜬다...

분명 난 재대로 복붙을 했는데...???

일단 react-native에서 권한을 부여하는 방법을 araboza

1. react-native-permissions 설치

권한 부여의 대표주자 react-native-permissions 를 설치해주자.

npm install react-native-permissions

2. AndroidManifest.xml 수정

내프로젝트/android/app/src/main/AndroidManifest.xml

을 수정해야한다.

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

아래에

    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

를 붙여넣어보자.
나는 녹음기능을 만들계획이라 스토리지 읽고 쓰기랑 record_audio만 가져왔다.
다른거 사용할 분들은 다른거 찾아서 붙여넣기 ㄱㄱ

그 다음

작업할 파일에서(나는 테스트용이라 App.js에 걍 작업함)

import { PERMISSIONS, request } from "react-native-permissions";
//임포트 해주고


const requestPermission =  () => {
    request(PERMISSIONS.ANDROID.RECORD_AUDIO).then(response => {
      console.log(response);
    });
  };
//대충 이런식으로 사용한다. useEffect에서 처음에 물어보도록 해도되고 아니면 버튼누르면 가져오도록 해도 상관 없다. 일단나는 버튼누르면 가져오도록 사용함.

이런식으로 사용하면 된다.

그런데 저렇게 사용해도 계속 blocked가 콘솔로 찍혀벌임...

그럴때 AndroidManifest.xml을 조금 더 수정해주면 된다.

<uses-permission android:name="android.permission.RECORD_AUDIO" android:required="true"/>

이런식으로 android:required="true" 속성을 넣어주고 다시 빌드하니 권한을 잘 가져오더라..
문제 해결!

profile
제주도 프론트앤드 개발자의 개발 일기

0개의 댓글