我的朋友正在测试我的应用程序,它使用 SD 卡来存储一些设置。他有一台三星 Galaxy S2,但他只是告诉我他的设备中没有 SD 卡。该设备似乎在手机内存中创建了一个文件夹,该文件夹模拟了 SD 卡的存在,并且存储了所有使用 SD 卡的应用程序文件。
此功能是否适用于所有 Android 设备?我应该考虑设备上没有 SD 卡的事实还是不应该打扰?不确定我是否应该在我的应用程序中检查 SD 卡的可用性。
PS 我刚刚注意到,如果我没有为 SD 卡指定内存,模拟器也是如此。
您绝对应该检查 SD 卡的可用性。在某些设备上它可能有效(如您所说),但在某些设备上可能无效,您可能会收到 FileNotFoundException。
所以值得检查。
String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.toString().equals(
state.toString())) {
//////then do your work here////////
}
或者
Boolean isSDPresent = android.os.Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
if(isSDPresent)
{
// yes SD-card is present
}
else
{
// Sorry
}