以编程方式检查 SD 卡是否可用
我的应用程序适用于仅具有 SD 卡的手机。因此,我想以编程方式检查 SD 卡是否可用以及如何找到 SD 卡可用空间。是否可以?
如果是,我该怎么做?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我的应用程序适用于仅具有 SD 卡的手机。因此,我想以编程方式检查 SD 卡是否可用以及如何找到 SD 卡可用空间。是否可以?
如果是,我该怎么做?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(12)
接受的答案对我不起作用
如果设备有内置存储,它会返回 true;
我的解决方案是检查外部文件目录数,如果有多个,则设备有SD卡。
它有效,并且我在多种设备上测试了它。
Accepted answer doesn't work for me
In case if device has a built-in storage, it returns true;
My solution is that to check the external files directory count, if there is more than one, device has sdcard.
It works and I tested it for several devices.
您可以像这样检查外部可移动 SD 卡是否可用,
正如我测试过的那样,它工作得很好。
You can check if external removable sd card is available like this
This works perfectly as i have tested it.
按照 Environment.getExternalStorageState() >“使用外部存储”。
要获取外部存储上的可用空间,请使用
StatFs
:Use
Environment.getExternalStorageState()
as described in "Using the External Storage".To get available space on external storage, use
StatFs
:我编写了一个小类来检查存储状态。或许对你有点用处。
I wrote a little class for that checking the storage state. Maybe it's of some use for you.
我修改了它,如果 SD 卡存在,它会在那里设置路径。如果没有,则将其设置在内部目录中。
I modified it such that if an SD card exists, it sets the path there. If not, it sets it at the internal directory.
这个简单的方法对我来说很有效。在所有类型的设备中进行了测试。
This simple method is worked for me. Tested in all type of devices.
科特林
Kotlin
我创建了一个类来检查 SD 卡上的文件夹是否可用:
I created a class to check if the folder on the SD card is available or not:
即使 SD 卡存在且处于弹出状态,此功能也能完美运行
this works perfectly even if sd card is present and in the ejected state