[android] 저장공간 권한
안드로이드 앱을 개발할 때 많은 경우에 저장 공간에 대한 권한이 필요합니다. 이 권한을 요청하는 방법을 모두 사용자가 앱을 시작할 때 보다 효과적으로 안내하고 있습니다.
1. 권한을 요청하는 방법
사용자에게 저장 공간에 대한 권한을 요청하기 위해서는 앱의 메니페스트 파일에서 해당 권한을 선언해야 합니다.
메니페스트 파일(permission 요청 선언 예시):
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
그 후, 사용자에게 직접 권한을 요청해야 합니다. 아래는 권한 요청 코드의 예시입니다.
if (ContextCompat.checkSelfPermission(thisActivity,
Manifest.permission.WRITE_EXTERNAL_STORAGE)
!= PackageManager.PERMISSION_GRANTED) {
if (ActivityCompat.shouldShowRequestPermissionRationale(thisActivity,
Manifest.permission.WRITE_EXTERNAL_STORAGE)) {
// 이 권한이 이유에 대한 설명을 사용자에게 표시
} else {
ActivityCompat.requestPermissions(thisActivity,
new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},
MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE);
}
}
2. 권한 요청 후 사용
권한이 허가되면 onRequestPermissionsResult
메서드를 사용하여 권한 요청에 대한 응답을 처리해야 합니다.
@Override
public void onRequestPermissionsResult(int requestCode,
String[] permissions, int[] grantResults) {
switch (requestCode) {
case MY_PERMISSIONS_REQUEST_WRITE_EXTERNAL_STORAGE: {
if (grantResults.length > 0
&& grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// 권한이 허가되어 저장 공간에 접근 가능
} else {
// 권한이 거부되어 저장 공간에 접근 불가능
}
return;
}
}
}
앱에서 저장 공간에 접근하려면 반드시 이 권한을 획득해야 합니다. 사용자에게 이러한 권한 요청에 대해 명확하게 안내하여 보안적인 측면에서 사용자의 신뢰를 얻을 수 있습니다.