Android中如何判断SD卡是否挂载?

2024-03-24

我正在开发一个 Android 应用程序,需要查看用户存储了哪些图像。问题是,如果用户通过 USB 电缆安装了 SD 卡,我无法读取磁盘上的图像列表。

有谁知道有什么方法可以判断 USB 是否已安装,以便我可以弹出一条消息,通知用户它无法工作?


如果您尝试访问设备上的图像,最好的方法是使用MediaStore 内容提供商 http://developer.android.com/reference/android/provider/MediaStore.Images.Media.html。将其作为内容提供商 http://developer.android.com/guide/topics/providers/content-providers.html将允许您查询存在的图像,并绘制地图content://设备上适当的文件路径的 URL。

如果您仍然需要访问 SD 卡,相机应用程序包含一个图像工具 http://android.git.kernel.org/?p=platform/packages/apps/Camera.git;a=blob;f=src/com/android/camera/ImageManager.java;h=073b8db811d1a010079c7a258a418aa90fae2326;hb=dafe31ead98304414f84f021bd0c155e62d833c2检查 SD 卡是否已安装的类如下:

static public boolean hasStorage(boolean requireWriteAccess) {
    //TODO: After fix the bug,  add "if (VERBOSE)" before logging errors.
    String state = Environment.getExternalStorageState();
    Log.v(TAG, "storage state is " + state);

    if (Environment.MEDIA_MOUNTED.equals(state)) {
        if (requireWriteAccess) {
            boolean writable = checkFsWritable();
            Log.v(TAG, "storage writable is " + writable);
            return writable;
        } else {
            return true;
        }
    } else if (!requireWriteAccess && Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
        return true;
    }
    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android中如何判断SD卡是否挂载? 的相关文章

  • 销毁Android应用程序

    我开发了一个运行良好的应用程序 我使用了一些静态变量并设置了应用程序级别变量 我的问题是 即使在每个活动上设置 finish 之后 应用程序仍显示在运行模式下 关闭应用程序后 当我在一段时间后启动应用程序时 它将设置最后的更改 我怎样才能销
  • Android TCP Server 仅在客户端关闭后显示来自 Python 客户端的消息

    我正在使用一些示例代码 它允许我从 Python 客户端向 Android 服务器 TCP 发送消息 但该消息仅在客户端关闭后才会显示在 Android 模拟器上 我可能缺少 tcp 套接字背后的一些基本理解 第一次使用和实现 我的主要目的
  • 如何随着 ViewPager 位置偏移量的变化对视图进行动画处理

    我们希望创建一个带有动画的应用程序介绍 用户可以在其中滚动页面 并且当用户滚动时 视图会动画化并遍历所有幻灯片 动画视图应该随着用户滚动而移动 因此如果用户滚动得更快 动画视图应该移动得更快 如果用户滚动回到上一页 动画视图应该向后移动 这
  • 如何使用 SyncAdapter 处理远程服务器的 RESTful 更新

    我观看了 Google I O REST 演讲并阅读了幻灯片 http www google com events io 2010 sessions developing RESTful android apps html http www
  • Android:是否有一种简单的方法可以为视图创建圆角,而不必每次都创建单独的可绘制对象?

    我在互联网上浏览了各种解决方案 这些解决方案使我们能够创建带有圆角的视图 其中大多数需要使用创建自定义视图 或者每次我们需要圆角视图时都需要在 xml 或九个补丁中创建可绘制对象 问题是 当我实现此类视图时 我需要为每个此类视图创建一个可绘
  • android widget 和 localservice 绑定

    我编写播放器 它的主要活动是运行本地服务 我找不到如何将本地服务绑定到小部件 当我尝试像在活动中一样绑定它时 它失败了 请帮助我 添加 1 何时可以联系后台服务 http www developer com ws data article
  • 使用选项卡式活动中的捆绑包将值从活动传递到片段

    我是一个java文盲 但仍在尝试开发一个供我个人使用的应用程序 我从 android studio 的 Tabbed Activity 开始 除了 MainActivity 中的一个片段和一个包之外 大部分没有改变 这是我的代码 主要活动
  • 如何通过 Android 中的 Google Fit 集成获取用户信息

    我正在将 Google Fit 应用程序集成到 Android 应用程序中 以使用 SENSORS API 和 HISTORY API 跟踪健身数据 获取步数 如何使用该 API 获取用户信息 电子邮件或用户 ID 对你来说完美的例子 这可
  • 如何创建适用于 iPhone、iPad 和 Android 的 Extjs 应用程序?

    有人成功创建了适用于 iPhone iPad 和 Android 的 Extjs 应用程序吗 我知道 Sencha 不支持移动设备上的 Extjs 但我不想创建另一个仅针对移动设备的网站 我不需要奇特的移动界面 只需要基本的功能 我做了一些
  • 我该怎么办:这需要 android.permission.INTERACT_ACROSS_USERS_FULL

    我正在致力于将 micode 的开源指南针集成到我正在制作的应用程序中 我想知道当我在清单中以正确的拼写清楚地说明了此权限错误时 如何修复此权限错误 我仍然需要该许可 这让我很困惑 11 03 13 53 58 241 E AndroidR
  • Android:从 https url 获取响应

    问候 我正在开发一个 Android 应用程序 需要通过 https 打开一个 url 带有 POST 参数 并获取响应 我有一个自签名证书 这让情况更加复杂 我还需要接受cookies 有人知道从哪里开始吗 提前谢谢了 Android 附
  • Android:多图像密度支持 - 缩放高度宽度和 dpi?

    我有一个 Android 应用程序 我正在尝试添加对不同密度 屏幕尺寸等的支持 我已经在具有 HVGA 支持的模拟器上开发了该应用程序 并使用了我们 iphone 应用程序中的所有图标 自从分辨率以来 结果很好分辨率为 320x480 现在
  • 无法从后台服务通过 WiFi 访问互联网

    我将直接介绍我发现的一些事实 数据 如果您遇到 解决了类似的问题 请帮助我 我每 5 分钟向服务器发送一次数据 除非用户在服务器的帮助下手动将其关闭 wakeful broadcast receiver通过一个intent service
  • AWS MobileHub:重命名 Android / iOS 示例项目

    我是 AWS Mobilehub 的新手 我喜欢它允许我使用 AWS 配置选项创建项目 但是 当我尝试构建应用程序 ios swift android 时 它总是使用我的示例项目作为项目名称 在 AWS 项目的大多数配置设置中 例如使用 c
  • android:widgetLayout 和 android:layout 之间的区别?

    我得到一些奇怪的配置 其中 widgetLayout 配置列表项的内部空间 而布局配置整个项目列表和屏幕背景 有人能真正解释一下什么是 widgetLayout 吗 android layout 整个首选项的布局 包括标题 摘要和小部件 a
  • Android 设备 ID(不是 IMEI)

    我使用命令 adb devices 列出连接的设备 在我的电脑上我得到 附加设备列表 HT9CTP820988 器件 我的问题是 如何以编程方式获取此 id HT9CTP820988 你所看到的adb devices命令是序列号 序列号 创
  • 在 PHP 中设置通知的 FCM 通道 ID

    我正在尝试使用 PHP 向 Android 设备发送 FCM 通知 我的代码适用于 Android O 之前的设备 在Android O中 我们还需要在请求中设置通道ID来接收通知 我不知道该怎么做 我已在应用程序中完成了必要的设置 并使用
  • 如何在 Fragment 中使用 onNewIntent(Intent Intent) 方法?

    我正在尝试从我的设备使用 NFC 硬件 但是 问题是当我注册 Activity 来接收 Intent 时 PendingIntent pendingIntent PendingIntent getActivity this 0 new In
  • 如何在高速缓存中存储图像

    我对此完全空白 我想从 URL 下载图像 并且必须将其存储在内部 以便下次我不需要连接到网络 而是从缓存中检索它 但我不知道该怎么做 谁能帮我提供一个代码片段 import java io BufferedInputStream impor
  • Android:如何为我的应用程序播放的任何音乐文件创建淡入/淡出音效?

    我正在开发的应用程序播放音乐文件 如果计时器到期 我希望音乐淡出 我怎么做 我正在使用 MediaPlayer 播放音乐 音乐文件位于我的应用程序的原始文件夹中 这是我的 Android MediaPlayer 的整个处理程序类 查看 pl

随机推荐

  • 使用 jQuery 删除仅包含空格的元素

    有没有办法删除这个 p p 使用 jQuery Try p filter function return trim this text this children length 0 remove 它的作用是找到所有 p 其中没有任何内容 并
  • Linux 检索监视器名称

    情况 我正在使用多个监视器 并且我想在 bash 中获取它们的名称 目前我使用的是 Ubuntu 10 04 我知道xrandr 从中我只能得到统计数据 我想要的是读取数组中的所有监视器名称以使用它们 有没有一种明确的方法可以做到这一点 而
  • 将 Mercurial hgsubversion 扩展与 SVN 外部结合使用

    我正在使用 Mercurial 与 Subversion 存储库进行通信 并且该存储库当前正在使用 SVN 外部来拉入另一个存储库 hgsubversion与存储库通信的效果非常好 但它似乎不适用于 SVN 外部 有没有办法配置它来处理这个
  • 当我的脚本导入模块 pikepdf 和 pdfminer3 时,如何修复 pyinstaller“无名为...”的错误?

    我使用 PikePDF 和 PDFminer3 构建了一个有效的 py 脚本 它将从我的桌面上获取 PDF 并根据可用的单词创建一个 txt 文件 这样做的目的是帮助我的工作团队修改通常无法复制粘贴修改 因此必须手写 的法律文件 由于我的大
  • AVPlayer 可以从 API 端点正确传输视频文件吗?

    我有一个 Xamarin iOS 应用程序 我想从支持 HTTP 范围请求的 API 端点流式传输视频 我已经在这里查看了许多类似的问题 但无论我尝试什么 我似乎都无法让 AVPlayer 在完全下载之前开始播放视频文件 我试过了 KVO
  • kubernetes 节点选择器正则表达式

    我正在尝试在具有类似标签的节点上部署 Podes 节点 数据 1 es 节点 数据 2 es 节点 数据 3 我可以使用 pod 节点亲和力规范中的所有标签 但我只想使用单个标签条目作为es 节点 数据 以便它部署在所有节点上 这可能吗 我
  • Lambda S3Event 的 AWS 开发工具包 V2 类是什么?

    For the Java SDK V1 I have a lambda function like this public static void doSomethingLambda S3Event s3Event throws Excep
  • 更新数据库 - 列不存在

    当我尝试使用时update database verbose force 我收到错误 ALTER TABLE DROP COLUMN failed because column countReferralsRegistrations doe
  • 使用音频队列框架录制的数据格式

    我正在编写一个 iPhone 应用程序 它应该记录用户的声音 并将音频数据输入到库中进行修改 例如改变速度和音调 我从 Apple 的 SpeakHere 示例代码开始 http developer apple com library io
  • 如何将点的图形属性添加到最终的点输出中

    我在 python 项目中使用 NetworkX 库创建图形表示 制作有向图我需要向我们的图输出添加一个属性 等级目录 LR 所以我正在编写代码 import networkx as nx graph nx DiGraph rankdir
  • git 克隆本地主机?

    我不太喜欢 ubuntu 但我成功地在我的客户端上设置了 git 并在服务器上设置了 gitosis 这是我引以为傲的 我将本地 ssh 公钥添加到 gitosos 的授权密钥中 并且可以克隆 推送 提交等 从我的本地计算机到服务器 一切都
  • thrd_busy 和 mtx_lock()/mtx_timedlock()

    我对 C1x 互斥体有以下问题 7 25 4 哪些情况可以mtx lock return thrd busy而不是阻塞 哪些情况可以mtx timedlock return thrd busy 注意thrd busy在 7 25 1 5 中
  • React Native 初始应用程序大小太大

    我知道这个问题之前问过 但提供的解决方案不足以减少应用程序的大小 我已经使用创建了一个应用程序react native init 尚未添加任何第三方库 只是一个你好世界应用程序 但其发布版本大小为 48mb 之后我用了def enableP
  • 无法使用 Jupyter Lab 或 Jupyter Notebook 运行任何 ipynb 文件(FileNotFoundError: [WinError 2] 系统找不到指定的文件)

    我在 Win10 上运行 JupyterLab JupyterNotebook 在 Windows 10 上运行 Python 和 PyCharm 每当我启动 JupyterLab JupyterNotebook 时 都会收到下面所述的错误
  • 如何在 Chef LWRP 定义中实现动态属性默认值

    我希望能够用 3 个参数来定义一个轻量级资源 其中两个是基本 基本参数 第三个是这两个参数的组合 我还想提供自定义第三个参数的可能性 例如 如何修改以下代码以实现上述行为full name属性 资源定义 actions install at
  • 从代码设置 silverlight 模板?

    如果我的模板放置在 ResourceDictionary 中 如何从代码中设置 control Template 从根本上讲 您需要附加到控件加载事件 此时您可以分配给 Template 属性 您可以从资源字典中检索模板 例如 假设您有一个
  • 捕获 python cgi 脚本后面的 url 路径?

    如果我举个例子来解释我的问题会更好 cgi 脚本的文件名 awesome URL http omgpython com awesome http omgpython com awesome awesome 脚本正常运行 我附加了一个 假 路
  • ios页面卷曲显示视图控制器

    嗨 我想让地图视图看起来像那样 我想让右下角像这样 当我单击它时 它会启动一个模态视图控制器 这个怎么做 请参阅这个问题 当然答案 iOS 上的卷页 https stackoverflow com questions 5435547 pag
  • 如何排除工作 git 存储库中的文件夹 (Visual Studio Code)

    我使用的是 Visual Studio Code 版本 0 7 10 我想使用版本控制 我认为现在是开始自学使用 git 的好时机 我以前从未使用过它 如何让 git 忽略我的 node modules 文件夹 此文件夹中的每个项目都列出了
  • Android中如何判断SD卡是否挂载?

    我正在开发一个 Android 应用程序 需要查看用户存储了哪些图像 问题是 如果用户通过 USB 电缆安装了 SD 卡 我无法读取磁盘上的图像列表 有谁知道有什么方法可以判断 USB 是否已安装 以便我可以弹出一条消息 通知用户它无法工作