android12判断是否有外置SD卡,有的话返回true,没有返回false。这个怎么写
时间: 2023-05-22 17:02:43 浏览: 231
可以使用以下代码:
```
File[] externalStorageVolumes = ContextCompat.getExternalFilesDirs(context, null);
boolean hasSDCard = externalStorageVolumes.length > 1 && externalStorageVolumes[1] != null;
```
其中,`ContextCompat.getExternalFilesDirs()`方法返回一个数组,该数组包含所有可用的外部存储卷,其中第一个元素是主要外部存储卷,而其他元素是其他可用的外部存储卷。因此,如果数组长度大于1且第二个元素不为空,则说明设备存在外置SD卡。否则,设备没有外置SD卡。
相关问题
android11判断是否有外置SD卡,有的话返回true,没有返回false。这个怎么写
您可以通过以下代码来判断是否有外置SD卡:
```java
if (Environment.getExternalStorageState().equals(
Environment.MEDIA_MOUNTED)) {
// 外置SD卡存在
return true;
} else {
// 外置SD卡不存在
return false;
}
```
以上代码会检查外置SD卡是否存在并可读可写,如果存在,返回true;如果不存在或不可读写,返回false。
android11获取外置SD卡是否存在
可以通过 Environment 类的 getExternalStorageState(File) 方法来判断外置 SD 卡是否存在,具体实现可以参考以下代码:
if (Environment.getExternalStorageState(new File("/storage/extSdCard")).equals(Environment.MEDIA_MOUNTED)) {
// 外置 SD 卡已经挂载
} else {
// 外置 SD 卡不存在或者没有挂载
}
请注意,这种方式只适用于 Android 4.4 及更高版本的操作系统,因为在此之前,外置 SD 卡可能会使用其他存储目录名(例如,/mnt/sdcard-ext),并且不支持多个外置 SD 卡的情况。