java卡写入_写入SD卡的权限

问题

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

#1 热门回答(205 赞)

你说SD卡目录是/sdcard是对的,但你不应该对它进行硬编码。相反,请致电Environment.getExternalStorageDirectory()获取目录:

File sdDir = Environment.getExternalStorageDirectory();

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

#2 热门回答(1 赞)

上面提到的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);

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值