三星 Galaxy S3 没有 SD 卡,我使用此代码来检查存储状态。
使用此代码:
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state)) {
// We can read and write the media
mExternalStorageAvailable = mExternalStorageWriteable = true;
} else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
// We can only read the media
mExternalStorageAvailable = true;
mExternalStorageWriteable = false;
} else {
// Something else is wrong. It may be one of many other states, but all we need
// to know is we can neither read nor write
mExternalStorageAvailable = mExternalStorageWriteable = false;
}
那么也许有人可以向我解释一下这款手机是否出于某种原因将其内部存储器视为外部存储器?或者是什么?
getExternalStorageDirectory 并不总是返回 SDCard。
谷歌文档说:
“不要被这里的‘外部’这个词搞糊涂了。这个目录可以
最好将其视为媒体/共享存储。它是一个文件系统,可以
拥有相对大量的数据,并且在所有数据之间共享
应用程序(不强制执行权限)。传统上这是一个
SD 卡,但也可以作为内置存储来实现
设备与受保护的内部存储不同,并且可以
作为文件系统安装在计算机上。”
“/mnt/sdcard”可能是指您手机的内置存储空间。
最好检查一下返回路径来自getExternalStorageDirectory
方法无论是否是外部可移动存储。
您可以使用环境.isExternalStorageRemovable()用于检查它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)