如何检查设备是否有可用的 SD 卡,然后获取该 SD 卡的路径?
当我检查
bool emulated = Android.OS.Environment.IsExternalStorageEmulated;
时,它返回真,尽管设备安装了可用的SD卡。
在这种情况下,我知道该设备有一个 SD 卡,但我希望能够检查它是否以编程方式执行,然后获取它的路径——而不是外部模拟存储的路径。
您可以尝试以下代码来检查设备是否有可用的 SD 卡,然后获取该 SD 卡的路径。我把代码放在MainActivity.
var res = ContextCompat.GetExternalFilesDirs(this.ApplicationContext, null);
if(res.Length > 1) // length > 0 means there is a sdcard in the device
{
var sdcardpath = res[1].AbsolutePath; // get sdcard path
}
我已经在两台设备上测试了代码,一台有 SD 卡,另一台没有。它将返回正确的值。
参考案例测试SD卡是否正确安装和可写。