我想我的应用程序存档数据库的应用程序到SD卡。在我的代码中,我检查目录canWrite()
是否存在,如果不存在,则抛出一个IOException
。在本例中,我试图将db文件复制到SD卡的根目录中,但它抛出了一个IOException
。如何更改文件夹/文件的权限才能对其进行写入?
发布于 2010-01-23 13:56:37
您说得对,SD卡目录是/sdcard
,但您不应该对其进行硬编码。而是调用Environment.getExternalStorageDirectory()
来获取目录:
File sdDir = Environment.getExternalStorageDirectory();
如果您尚未执行此操作,则需要通过将以下行添加到您的清单中,为您的应用程序提供写入SD卡的正确权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
发布于 2012-08-23 02:46:58
上面在Dave的回答中建议的技术肯定是一个很好的设计实践,是的,最终必须在AndroidManifest.xml文件中设置访问外部存储所需的权限。
然而,添加大多数(如果不是全部,也不确定)“清单选项”的单一方式是通过实现活动(或服务)的类的属性。
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);
}
}
https://stackoverflow.com/questions/2121833
复制相似问题