gpt4 book ai didi

java - 如何检查平板电脑是否插入了SD卡 : Android?

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:09 24 4
gpt4 key购买 nike

我正在开发一个简单的应用程序,它应该能够从内部存储以及外部存储(可移动卡)(如 Micro SD 卡(当用户插入 SD 卡时))访问文件。

(不是设备附带的内部 sdcard,我知道可以使用Environment.getExternalStorageDirectory())

是否可以查明用户是否已将 SD 卡插入设备?如果是,是否可以获取到该SD卡的路径?

我发现硬编码路径不是一个好的选择,因为不同的设备对用户插入的 sdcard 有不同的路径。

非常感谢任何帮助。谢谢。

最佳答案

(Not the internal sdcard which comes with the device, I know it can be accessed using Environment.getExternalStorageDirectory() )

Android 将可移动存储介质(如 SD 卡)或内部(不可移动)存储视为仅外部存储。

以下是来自 developer.android.com 的表格

Every Android-compatible device supports a shared "external storage" that you can use to save files. This can be a removable storage media (such as an SD card) or an internal (non-removable) storage. Files saved to the external storage are world-readable and can be modified by the user when they enable USB mass storage to transfer files on a computer.

要检查 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;
}
}

请阅读http://developer.android.com/guide/topics/data/data-storage.html#filesExternal

关于java - 如何检查平板电脑是否插入了SD卡 : Android?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12721827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com