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
'programing tip' 카테고리의 다른 글
node.JS에서 내가로드 한 모듈의 경로를 어떻게 얻을 수 있습니까? (예 : 일부 node_module에서) (0) | 2020.10.10 |
---|---|
관리 방식으로 .NET에서 부모 프로세스를 얻는 방법 (0) | 2020.10.09 |
MVC3 ModelState 오류 제거 (0) | 2020.10.09 |
Twitter Bootstrap에서 둥근 모서리를 만드는 올바른 방법 (0) | 2020.10.09 |
Objective-C에서 모든 텍스트를 소문자로 변환 (0) | 2020.10.09 |