写入SD卡的权限

bug*_*gzy 79 java android

我希望我的应用程序将应用程序DB存档到SD卡.在我的代码中,我检查目录是否canWrite()存在,如果不存在,则抛出一个IOException.在这个特定的实例中,我试图将db文件复制到SD卡上的根目录,但它正在抛出一个IOException.如何更改文件夹/文件的权限才能写入?

Dav*_*ebb 208

你是SD卡目录是对的,/sdcard但你不应该对它进行硬编码.而是,调用Environment.getExternalStorageDirectory()以获取目录:

File sdDir = Environment.getExternalStorageDirectory();
Run Code Online (Sandbox Code Playgroud)

如果您还没有这样做,则需要通过将以下行添加到您的Manifest,为您的应用程序提供写入SD卡的正确权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Run Code Online (Sandbox Code Playgroud)

  • @ user244190 - 我的猜测是你的手机正在运行Android 1.5.`WRITE_EXTERNAL_STORAGE`是在1.6中引入的,所以如果你希望它是向前兼容的,你需要将它包含在你的应用程序中. (4认同)