WORK/Android

[Android] storage 접근 권한 요청, 처리

호이호이호잇 2021. 4. 13. 20:20
728x90
반응형

Android Permission 중 사용자에게 권한 요청을 하고 허가 받아야 하는 것들이 있다.

그 중에 한가지가 storage 읽고 쓰는 권한이다.

 

나는 캡처 하는 동작이 있을 때, 파일이 저장 될 때 마다 체크해주는 것을 하기 위해 

권한을 요청했었다.

 

권한 요청하는 방법!

 

▲ 앱 권한 받기 (main.java)

main으로 시작하는 activity 가장 위에 해주는 것이 좋은 것 같다.!

그렇게 해야 원하는 동작을 정상적으로 할 수가 있다.

// storage permission
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
    if(checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED
            || checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
        if(shouldShowRequestPermissionRationale(Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
            Toast.makeText(this, "외부 저장소 사용을 위해 읽기/쓰기 필요", Toast.LENGTH_SHORT).show();
        }
        
        
requestPermissions(
new String[]
            {Manifest.permission.WRITE_EXTERNAL_STORAGE,Manifest.permission.READ_EXTERNAL_STORAGE}, 2);
        }
    }
}

 

▲ 앱 권한 쓰기 (AndroidManifest.xml)

권한을 요청받아 앱에서 사용하기 위해서는 AndroidManifest 파일에 적어줘야한다.

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

 

이렇게 두 가지를 설정하고 앱을 실행하면, 요청을 받는 것을 볼 수 있다.

 

끄읐~!

728x90
반응형