首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >写入SD卡的权限

写入SD卡的权限
EN

Stack Overflow用户
提问于 2010-01-23 10:29:19
回答 2查看 147.4K关注 0票数 81

我想我的应用程序存档数据库的应用程序到SD卡。在我的代码中,我检查目录canWrite()是否存在,如果不存在,则抛出一个IOException。在本例中,我试图将db文件复制到SD卡的根目录中,但它抛出了一个IOException。如何更改文件夹/文件的权限才能对其进行写入?

EN

回答 2

Stack Overflow用户

发布于 2010-01-23 13:56:37

您说得对,SD卡目录是/sdcard,但您不应该对其进行硬编码。而是调用Environment.getExternalStorageDirectory()来获取目录:

代码语言:javascript
复制
File sdDir = Environment.getExternalStorageDirectory();

如果您尚未执行此操作,则需要通过将以下行添加到您的清单中,为您的应用程序提供写入SD卡的正确权限:

代码语言:javascript
复制
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
票数 210
EN

Stack Overflow用户

发布于 2012-08-23 02:46:58

上面在Dave的回答中建议的技术肯定是一个很好的设计实践,是的,最终必须在AndroidManifest.xml文件中设置访问外部存储所需的权限。

然而,添加大多数(如果不是全部,也不确定)“清单选项”的单一方式是通过实现活动(或服务)的类的属性。

Visual Studio Mono插件会自动生成清单,所以最好不要手动篡改它(我确信有些情况下没有其他选择)。

例如:

代码语言:javascript
复制
[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);
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2121833

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档