您的位置:首页 > 移动开发 > Android开发

android 文件下载与SD卡之间的关系

2013-09-30 10:02 405 查看
在下载内容的时候,如果你的软件提供了下载的功能,那么一定在下载之前就检查一下,你的手机的SD卡是否可用,空间是否够大,SD的模式是U盘模式还是普通的存储模式等等,这些对一个成熟的软件非常重要。
这是Android的原生代码中的判断,可以作为参考:先检查SD卡的状态是否处于可用的状态,不可用,那么看看是什么情况:
1.MEDIA_SHARED--手机直接连接到电脑作为u盘使用之后的状态
2.其它状态,不过应该是:MEDIA_CHECKINGS--手机正在扫描sd卡过程中的状态,因为其他状态SD卡都是不存在或者不可以使用的状态
//ChecktoseeifwehaveanSDCardStringstatus=Environment.getExternalStorageState();if(!status.equals(Environment.MEDIA_MOUNTED)){inttitle;Stringmsg;//ChecktoseeiftheSDCardisbusy,sameasthemusicappif(status.equals(Environment.MEDIA_SHARED)){msg=activity.getString(R.string.download_sdcard_busy_dlg_msg);title=R.string.download_sdcard_busy_dlg_title;}else{msg=activity.getString(R.string.download_no_sdcard_dlg_msg,filename);title=R.string.download_no_sdcard_dlg_title;}newAlertDialog.Builder(activity).setTitle(title).setIcon(android.R.drawable.ic_dialog_alert).setMessage(msg).setPositiveButton(R.string.ok,null).show();return;}
这篇文章对SD卡的状态说的很详细,作为参考:http://lgz.iteye.com/blog/1308340发现android原生提供的字符串都有2个,用product标示:product="nosdcard",product="default"2个。后来查了,发现product是系统编译的一个属性,根据这个属性选择不同的字符串。  <stringname="download_no_sdcard_dlg_title"product="nosdcard"msgid="56777245081568508">"不存在USB存储设备"</string>  <stringname="download_no_sdcard_dlg_title"product="default"msgid="605904452159416792">"无SD卡"</string>  <stringname="download_no_sdcard_dlg_msg"product="nosdcard"msgid="3144652102051031721">"必须装载USB存储设备才能下载“<xliff:gid="FILENAME">%s</xliff:g>”。"</string>  <stringname="download_no_sdcard_dlg_msg"product="default"msgid="2616399456116301518">"需要有SD卡才能下载<xliff:gid="FILENAME">%s</xliff:g>。"</string>  <stringname="download_sdcard_busy_dlg_title"product="nosdcard"msgid="8081445664689818973">"不存在USB存储设备"</string>  <stringname="download_sdcard_busy_dlg_title"product="default"msgid="6877712666046917741">"SD卡不可用"</string>  <stringname="download_sdcard_busy_dlg_msg"product="nosdcard"msgid="8412543086906716875">"USB存储设备正忙。要允许下载,请在通知中触摸“关闭USB存储设备”。"</string>  <stringname="download_sdcard_busy_dlg_msg"product="default"msgid="2629425950473358591">"SD卡正忙。要允许下载,请在通知中触摸“关闭USB存储设备”。"</string>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: