Ada*_*H S 3 java android android-sdcard
我正在开发一个简单的应用程序,它应该能够从内部存储器以及外部存储器(可移动卡)访问文件,如Micro SD卡(当用户插入SDCARD时).
(不是设备附带的内部SD卡,我知道可以使用它访问
Environment.getExternalStorageDirectory())
是否可以确定用户是否已将SD卡插入设备?如果是,是否有可能获得SD卡的路径?
我发现对路径进行硬编码不是一个好的选择,因为不同的设备有不同的用户插入的SD卡路径.
很感谢任何形式的帮助.谢谢.
abb*_*efa 11
(不是设备附带的内部SD卡,我知道可以使用Environment.getExternalStorageDirectory()访问它)
Android将可移动存储介质(例如SD卡)或内部(不可移动)存储视为仅外部存储.
以下是developer.android.com的表格
每个Android兼容设备都支持可用于保存文件的共享"外部存储".这可以是可移动存储介质(例如SD卡)或内部(不可移动)存储.保存到外部存储器的文件是世界可读的,当用户启用USB海量存储器在计算机上传输文件时,可以对其进行修改.
要检查SDCard可用性,您可以使用以下代码.
private boolean isExternalStorageAvailable() {
String state = Environment.getExternalStorageState();
boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
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;
}
if (mExternalStorageAvailable == true
&& mExternalStorageWriteable == true) {
return true;
} else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
请阅读http://developer.android.com/guide/topics/data/data-storage.html#filesExternal
小智 6
尝试:
Boolean mSDcheck = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8570 次 |
| 最近记录: |