允许写入SD卡
我想我的应用程序将应用程序数据库存档到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的回答中,上面的build议技术当然是一个很好的devise实践,并且最终必须在AndroidManifest.xml文件中设置所需的权限才能访问外部存储。
然而,通过实现活动(或服务)的类的属性来添加大多数(如果不是全部的话,不确定的)“清单选项”的单一方式的方式。
Visual Studio Mono插件自动生成清单,所以最好不要手动篡改它(我确定有些情况下没有其他select)。
例如:
[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); } }
- SimpleDateFormat(string模板,语言环境语言环境),例如用于ASCIIdate的Locale.US
- 在Android浏览器中build立一个链接启动我的应用程序?
- 什么是Android的冰柱参数?
- 如何解除Android中的系统对话框?
- 插件太旧,请更新到更新的版本,或设置ANDROID_DAILY_OVERRIDE环境variables
- Android的远程testing实验室(RTL)
- 如何限制Android应用程序到特定的设备?
- 里面的OnClickListener我不能访问很多东西 – 如何处理?
- ClassNotFoundException:未find类“com.google.android.gms.ads.AdView”