저장소 파일 불러올 때 권한 요청 설정

안드로이드에서 내부 저장소나 외부 저장소 파일을 불러올 때 파일을 가져오겠다는 권한을 사용자에게 알려주고 허가를 받아야 진행 할 수있게 되었다.

java > MainActivity.java 에 상단에 import 곳에 아래 코드를 추가해준다.

import android.Manifest;
import android.content.pm.PackageManager;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;

 

java > MainActivity.java 에 onCreate 안에 아래 코드를 써준다.

if (ContextCompat.checkSelfPermission(this, Manifest.permission.READ_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED) {
      if (ActivityCompat.shouldShowRequestPermissionRationale(this,Manifest.permission.READ_EXTERNAL_STORAGE)) {

      } else {
            ActivityCompat.requestPermissions(this,
            new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},
            1);
      }
}
//읽기 권한 요청

 

manifests > AndroidManifest.xml 을 열고 아래 권한 코드를 <manifest ~~></manifest> 안에 넣어준다. <application ~~></application>전후에 넣어줘도 된다.

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

내부 저장소의 파일을 읽어올 때는 안써줘도 된다는 글이 있었는데 실제로는 써줘야 한다.
꼭 써서 사용하길 바람.

어플을 처음 실행하면 이렇게 창이 뜨고 허용을 누르면 그 다음부터는 뜨지 않는다.

이렇게 하는 이유가 마시멜로 권한 업데이트 때문이라 한다.
기존에 미디어 파일을 Environment.getExternalStorageDirectory() 이렇게 내부 저장소 경로를 지정하고 파일을 불러왔는데 계속 안불러와지길래 확인해 보니 친구의 도움으로 업데이트에 관한 이야기와 설정할 수 있는 방법을 알게 되었다.

Subscribe
Notify of
guest

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.

0 댓글
Inline Feedbacks
View all comments
TOP