要确定SD卡和USB磁盘之间的区别,可以使用Android的StorageManager类来获取设备中的存储设备列表,并使用StorageVolume类来获取有关每个存储设备的详细信息。以下是一个示例代码,演示如何获取存储设备列表并打印出每个存储设备的详细信息:
import android.content.Context;
import android.os.storage.StorageManager;
import android.os.storage.StorageVolume;
public class StorageUtils {
public static void printStorageDevices(Context context) {
StorageManager storageManager = (StorageManager) context.getSystemService(Context.STORAGE_SERVICE);
StorageVolume[] storageVolumes = storageManager.getStorageVolumes();
for (StorageVolume storageVolume : storageVolumes) {
String path = storageVolume.getPath();
String description = storageVolume.getDescription(context);
boolean isRemovable = storageVolume.isRemovable();
boolean isEmulated = storageVolume.isEmulated();
if (isRemovable) {
if (isEmulated) {
System.out.println("SD卡:");
} else {
System.out.println("USB磁盘:");
}
System.out.println("路径: " + path);
System.out.println("描述: " + description);
}
}
}
}
要使用上述代码,只需在您的Activity或Fragment中调用printStorageDevices()
方法,并将上下文作为参数传递给它。
StorageUtils.printStorageDevices(getApplicationContext());
这将打印出设备中所有可移动的存储设备(SD卡和USB磁盘)的详细信息。您可以根据需要进一步处理这些信息。