设备声称有外部存储空间,但我没有 SD 卡

2023-11-29

三星 Galaxy S3 没有 SD 卡,我使用此代码来检查存储状态。

使用此代码:

boolean mExternalStorageAvailable = false;
boolean mExternalStorageWriteable = false;
String state = Environment.getExternalStorageState();

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;
}

那么也许有人可以向我解释一下这款手机是否出于某种原因将其内部存储器视为外部存储器?或者是什么?


getExternalStorageDirectory 并不总是返回 SDCard。

谷歌文档说:

“不要被这里的‘外部’这个词搞糊涂了。这个目录可以 最好将其视为媒体/共享存储。它是一个文件系统,可以 拥有相对大量的数据,并且在所有数据之间共享 应用程序(不强制执行权限)。传统上这是一个 SD 卡,但也可以作为内置存储来实现 设备与受保护的内部存储不同,并且可以 作为文件系统安装在计算机上。”

“/mnt/sdcard”可能是指您手机的内置存储空间。

最好检查一下返回路径来自getExternalStorageDirectory方法无论是否是外部可移动存储。

您可以使用环境.isExternalStorageRemovable()用于检查它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设备声称有外部存储空间,但我没有 SD 卡 的相关文章

随机推荐

  • 不正确的位图复制/输出

    因此 我在尝试读取任何 24bpp 位图图像并在同一文件夹中重新创建它时 无法准确弄清楚到底出了什么问题 它适用于一张图像 但不适用于我测试过的其他两张图像 从位图中读取时 我使用标头本身中找到的信息 可以说我有三个问题 1 我是否正确读取
  • Maven 通配符匹配部分文件夹名称

    使用 maven clean plugin 我想删除所有以 tmp 开头的文件夹 Maven 通配符可以吗 我努力了
  • 该程序创建了多少个进程,包括初始父进程?

    我试图弄清楚该程序创建了多少个进程 包括初始父进程 正确答案应该是9 但是我不明白为什么答案是9 这9个进程是如何创建的 提前致谢 include
  • 是否有有效的跨域 iframe 高度自动调整器?

    我尝试了一些解决方案但没有成功 我想知道是否有一个解决方案 最好有一个易于遵循的教程 您有三种选择 1 使用iFrame调整器 这是一个简单的库 用于保持 iFrame 的大小适合其内容 它使用 PostMessage 和 Mutation
  • 为应用程序制作密码锁?

    我想为我的应用程序制作一个密码解锁屏幕 但我不确定如何去做 我希望它看起来像苹果设计的版本 即密码锁定设置屏幕 我该如何做这样的事情 一旦输入所有四位数字 代码就会立即与预设密码进行检查 Thanks 刚刚找到一个可以完美复制这一点的项目
  • J2ME 与 Sqlite

    J2me的移动应用程序是否有像SQLite这样的持久存储 如果有 请分享链接或一些示例代码 使简单的 J2ME 应用程序与后端持久数据库进行交互 是的 J2ME 有持久存储 称为 RMS MIDP 2 0 的一部分 看这里简短的教程 RMS
  • 旋转前后的 OpenGL 平移

    以下是代码 摘自http www glprogramming com red chapter03 html 关于如何绘制机器人的手臂和肩膀并通过一些用户输入旋转它们 glPushMatrix glTranslatef 1 0 0 0 0 0
  • 如何使用 OpenCV(模板匹配)检测和匹配标记

    我正在使用在特定区域包含标记的图像 我尝试使用模板匹配来做到这一点 这是 opencv 中定义为 cv MatchTemplate 的方法 我正在使用网络摄像头来检测它们 当前程序正在检测标记 因为我提供了与模板相同的标记 但我找不到一种方
  • 将对象添加到 ArrayList 并稍后修改

    如果我有一个 ArrayList 并向其中添加了一个对象 然后修改了该对象 那么此更改会反映在 ArrayList 中吗 或者当我将对象添加到 ArrayList 时 Java 创建一个副本并将其添加到 ArrayList 中 如果我将此对
  • Android 查看 inflateException

    我正在尝试创建一个自定义视图 手指绘画 但我遇到了此错误 而且我不知道如何修复它 谁能告诉我出了什么问题吗 LogCat 08 04 08 34 01 171 E AndroidRuntime 15664 java lang Runtime
  • python firestore 身份验证问题

    我正在将 python 与 firestore 一起使用 并尝试在后端创建一个客户端 我正在关注this教程 用下面的代码 import firebase admin from firebase admin import credentia
  • 从 SQLite 触发器中中止以下语句

    我想创建一个SQLite触发器与此类似 CREATE TRIGGER prevent duplicate emails BEFORE INSERT OF email ON users FOR EACH ROW BEGIN SELECT CO
  • extern 变量导致多重定义错误

    我一直在尝试使用 extern 来使用先前定义的变量 我以前没有使用过 extern 现在我需要使用它来定义一次变量并在多个文件中使用它们 我已经为这个问题编写了最小化的代码版本 我有四个文件 lib h ifndef LIB H defi
  • Ruby on Rails,Paperclip:“识别”命令在 cmd 中工作,但在应用程序中不起作用

    我已经在 Windows 7 64 位上安装了 ImageMagick 并且拥有 Paperclip Gem 我的用户模型如下所示 class User lt ActiveRecord Base Paperclip has attached
  • 缩小显示/隐藏

    我如何使这段代码更小 也许是一个切换 但人们说这在 jQuery 中很容易完成 但问题是我不喜欢在代码中仅使用 jQuery 做一件事 function open document getElementById message style
  • JavaScript:如何让 setInterval() 现在开始? [复制]

    这个问题在这里已经有答案了 我正在使用setInterval function 每 20 秒调用一个函数 然而 我注意到的一件事是 这是第一次setInterval 实际上调用该函数是在 20 秒时 而不是在setInterval 叫做 这
  • 如何在不更改提交消息的情况下修改提交(重用前一个)?

    有没有办法在不修改提交的情况下vi 或者你的 EDITOR 弹出修改提交消息的选项 但只是重复使用之前的消息 自从 Git1 7 9你也可以使用git commit amend no edit得到你的结果 请注意 这不会包括来自其他提交的元
  • 如何使用 EncdDec 库对字符串进行编码

    我有这个基本代码 应该对字符串进行编码然后将其返回 然而 解码后的文本是垃圾 procedure TForm5 Button2Click Sender TObject VAR s1 s2 s3 String i Integer begin
  • 是否可以重载 Web 服务中的方法?

    是否可以重载 Web 服务中的方法 是的 你必须使用消息名称Web 方法的属性 看看这篇文章 重载 Web 服务
  • 设备声称有外部存储空间,但我没有 SD 卡

    三星 Galaxy S3 没有 SD 卡 我使用此代码来检查存储状态 使用此代码 boolean mExternalStorageAvailable false boolean mExternalStorageWriteable false