android transfer error: Read-only file system

来源:互联网 发布:淘宝卖家层级交易额 编辑:程序博客网 时间:2024/06/06 15:35

如何一起动就让sdcard有读写权限呢?
-------------------------------问题-----------------------------
在程序中访问SDCard,你需要申请访问SDCard的权限。
在AndroidManifest.xml中加入访问SDCard的权限如下:
<!-- 在SDCard中创建与删除文件权限 -->
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<!-- 往SDCard写入数据权限 -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

还要注意的加权限的位置:
<?xml version="1.0" encoding="utf-8"?>
 <manifest xmlns:android="
http://schemas.android.com/apk/res/android"
       package="byd.eagle"
       android:versionCode="1"
       android:versionName="1.0">
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 
     <application android:icon="@drawable/icon" android:label="@string/app_name">
         <activity android:name=".EagleBackup"
                   android:label="@string/app_name">
             <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
     </application>
     <uses-sdk android:minSdkVersion="8" />
 </manifest>

-------------------------------sdcard问题-------------------------
为什么需要sdcard
在android 中网页中图片的下载都会自动向sdcard 寻找空间,sdcard在开发测试中也是非常之必要。
1:如何在模拟器中加载 sdcard
通过文档中介绍可得如下示例:
mksdcard -l sdcard 100M sdcard.img // 这样会在Tools的目录下产生 sdcard 在pc 中的镜像文件。

模拟器启动的时候加载sdcard
emulator -sdcard sdcard.img -avd myavd2
这样后模拟器就可以看到自己的sdcard,通过adb shell 可以登录查看。

2:遍历sdcard
如何找到android 中的些特殊路径呢,像sdcard这种特殊路径,其实只要看
android.os.Environment 这个类便很清晰了,其中有如下的方法:
getRootDirectory();
getDownloadCacheDirectory();
getExternalStorageDirectory();
getExternalStorageState(); 可以得到当前的sdcard 的各个状态

原创粉丝点击