programing tip

SD 카드에 쓰기 권한

itbloger 2020. 10. 9. 09:03
반응형

SD 카드에 쓰기 권한


내 앱에서 애플리케이션 DB를 SD 카드에 보관하고 싶습니다. 내 코드에서 디렉토리 canWrite()있는지 확인 하고 그렇지 않은 경우 IOException. 이 특정 인스턴스에서 db 파일을 SD 카드의 루트 디렉토리에 복사하려고 시도하고 있지만 IOException. 쓰기가 가능하도록 폴더 / 파일에 대한 권한을 어떻게 변경합니까?


SD 카드 디렉토리가 /sdcard맞지만 하드 코딩해서는 안됩니다. 대신를 호출 Environment.getExternalStorageDirectory()하여 디렉토리를 가져 오십시오.

File sdDir = Environment.getExternalStorageDirectory();

아직 그렇게하지 않았다면 매니페스트에 아래 줄을 추가하여 SD 카드에 쓸 수있는 올바른 권한을 앱에 부여해야합니다.

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

Dave의 답변에서 위의 제안 된 기술은 확실히 좋은 디자인 관행이며, 그렇습니다. 궁극적으로 필요한 권한은 외부 저장소에 액세스하기 위해 AndroidManifest.xml 파일에 설정되어야합니다.

그러나 대부분의 (모두는 아니지만 확실하지는 않지만) "매니페스트 옵션"을 추가하는 Mono-esque 방법은 활동 (또는 서비스)을 구현하는 클래스의 속성을 사용하는 것입니다.

Visual Studio Mono 플러그인은 매니페스트를 자동으로 생성하므로 수동으로 조작하지 않는 것이 가장 좋습니다 (다른 옵션이없는 경우가있을 수 있음).

예를 들면 :

[Activity(Label="MonoDroid App", MainLauncher=true, Permission="android.permission.WRITE_EXTERNAL_STORAGE")]
public class MonoActivity : Activity
{
  protected override void OnCreate(Bundle bindle)
  {
    base.OnCreate(bindle);
  }
}

참고 URL : https://stackoverflow.com/questions/2121833/permission-to-write-to-the-sd-card

반응형