如何在 Android 中运行媒体扫描仪

2023-12-11

我想在捕获图像时运行媒体扫描仪。捕获后,图像会在网格视图中更新。为此,我需要运行媒体扫描仪。我找到了两个解决方案来运行媒体扫描仪一个是播送事件,另一个是运行媒体扫描仪类。我认为在 Ice Cream Sandwich (4.0) 中引入了媒体扫描仪类。之前的版本需要设置广播事件来运行媒体扫描仪。

任何人都可以指导我如何以正确的方式运行媒体扫描仪。


我发现如果您知道文件名,最好(更快/最少的开销)在特定文件上运行媒体扫描仪(而不是运行它来扫描所有文件中的媒体)。这是我使用的方法:

/**
 * Sends a broadcast to have the media scanner scan a file
 * 
 * @param path
 *            the file to scan
 */
private void scanMedia(String path) {
    File file = new File(path);
    Uri uri = Uri.fromFile(file);
    Intent scanFileIntent = new Intent(
            Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, uri);
    sendBroadcast(scanFileIntent);
}

当需要在多个文件上运行时(例如使用多个图像初始化应用程序时),我在初始化时保留新图像文件名的集合,然后为每个新图像文件运行上述方法。在下面的代码中,addToScanList将要扫描的文件添加到ArrayList<T>, and scanMediaFiles用于启动对阵列中每个文件的扫描。

private ArrayList<String> mFilesToScan;

/**
 * Adds to the list of paths to scan when a media scan is started.
 * 
 * @see {@link #scanMediaFiles()}
 * @param path
 */
private void addToScanList(String path) {
    if (mFilesToScan == null)
        mFilesToScan = new ArrayList<String>();
    mFilesToScan.add(path);
}

/**
 * Initiates a media scan of each of the files added to the scan list.
 * 
 * @see {@see #addToScanList(String)}
 */
private void scanMediaFiles() {
    if ((mFilesToScan != null) && (!mFilesToScan.isEmpty())) {
        for (String path : mFilesToScan) {
            scanMedia(path);
        }
        mFilesToScan.clear();
    } else {
        Log.e(TAG, "Media scan requested when nothing to scan");
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Android 中运行媒体扫描仪 的相关文章

  • onActivityResult 中的完成活动不起作用

    我有一对必须同生共死的活动 基本上 AlphaActivity 会做一些工作 然后发送一个意图 startActivityForResult 对于 Beta 活动 当 Beta 活动完成时 我希望它发送一个意图 startActivity
  • 检查双精度值的等于和不等于条件

    我在比较两者时遇到困难double values using and 我创建了 6 个双变量并尝试进行比较If健康 状况 double a b c d e f if a b c d e f My code here in case of t
  • doInBackground 运行时是否可以停止 asynctask?

    我正在 ActivityB Oncreate 中创建异步任务 在该任务中 我正在运行无限 while 循环doInBackground 当我转到上一个活动并再次回到该活动时 创建了另一个异步任务 我的问题现在是两个无限 while 循环正在
  • 在 Android 中的活动、服务和应用程序之间传递变量

    有人可以给我提供以下活动 服务 应用程序组合的示例吗 我拥有这三个 但我已经把我的应用程序弄得一团糟 试图在这个地方传递一堆变量 现在我不知道发生了什么 请注意 我是 Android 新手 最近我一直在努力解决这个问题 因为有很多方法可以实
  • 更改工具栏中汉堡图标的大小?

    我有两个问题 可能很奇怪 但无论如何 我有带有应用程序标题的工具栏 如何将其更改为非徽标的图片 下一个问题 是否可以设置 更改工具栏中汉堡图标的大小 我在下面的下一个代码的帮助下制作了经典的导航抽屉 我也使用了 ActionBarDrawe
  • android 谷歌+登录定制

    我正在创建一个 Android 应用程序 现在我正在实现社交网络登录 Facebook 按钮很好 但 google 按钮的语言与 Facebook 不同 另外 它只说 登录 我想让它说 用谷歌登录 我是 android 编程的新手 看到我需
  • 方法断点可能会大大减慢调试速度

    每当向方法声明行添加断点 在 Intellij IDEA 或 Android Studio 中 时 都会出现一个弹出窗口 方法断点可能会大大减慢调试速度 为什么会这样戏剧性地减慢调试速度 是我的问题吗 将断点放在函数的第一行有什么不同 Th
  • OpenCV InRange 参数

    我在 Android 上使用 OpenCV 来实时查找特定颜色的圆圈 我的第一步是仅保留与我正在寻找的定义颜色相对应的像素 在本例中为红色或绿色 示例图像 https i stack imgur com CIozU jpg 为此 我正在使用
  • 服务器到 Firebase HTTP POST 结果为响应消息 200

    使用 Java 代码 向下滚动查看 我使用 FCM 向我的 Android 发送通知消息 当提供正确的服务器密钥令牌时 我收到如下所示的响应消息 之后从 FCM 收到以下响应消息 Response 200 Success Message m
  • 如何在 Android 上的 HttpPost 中发送 unicode 字符

    我试图在我的应用程序中允许多语言支持 这会发出 HTTP post 来上传新消息 我需要做什么才能支持日语和其他非拉丁语语言 我的代码目前看起来像这样 note the msg string is a JSON message by the
  • 当参数具有默认值时,为什么无法使用导航组件将参数传递给片段?

    我正在使用导航组件 但我不明白为什么如果定义了参数 则将参数传递给下面的方法时会出现错误 我正在使用 SafeArgs 只有当我为此参数定义默认值时才会出现此错误 有人可以解释一下为什么会发生这种情况以及如何解决它吗 这是导航图的部分代码
  • 版本 5 上带有 getBackground().setAlpha 的按钮 - 棒棒糖无法正常工作

    我有这段代码 适用于自 API 14 以来的每个版本 但在 Android 5 0 Lollipop 上无法正常工作 以下是我希望按钮出现的方式 单击按钮1 buttonArrivals getBackground setAlpha 180
  • 手动启用时 Firebase Crashlytics 不报告崩溃

    Crashlytics 在没有选择加入报告的情况下也能正常工作 但一旦我根据规定设置了选择加入报告 它就会停止报告任何内容tutorial https firebase google com docs crashlytics customi
  • 如何从SurfaceView绘制到Canvas?

    我正在尝试做简单的画家 问题是Android看起来有三个独立的Canvas并给我它来顺序绘制 我用以下方式制作了用户界面SurfaceView 把霍尔德从中拿走 Override protected void onCreate Bundle
  • Android:如何监控WiFi信号强度

    当信号强度发生变化时我会收到通知 我尝试创建以下方法并在 onCreate 中调用它 private void initializeWiFiListener Log i TAG executing initializeWiFiListene
  • Android:如何使视图增长以填充可用空间?

    这看起来很简单 但我不知道该怎么做 我有一个带有 EditText 和两个 ImageButtons 的水平布局 我希望 ImageButtons 具有固定大小 并且 EditText 占据布局中的剩余空间 如何才能做到这一点
  • 如何更改锁屏自定义文本(所有者信息)?

    我写了程序代码 String message This is test Settings System putString context getContentResolver Settings Secure LOCK PATTERN EN
  • Google Android Drive api 在已安装版本上登录失败

    我开发了一个使用 GoogleDrive api 的 Android 应用程序 当处于调试状态或运行调试版本时 应用程序 工作正常 并正确验证附加的谷歌帐户 等 当我构建发行版本时 使用我的签名密钥 并且 安装apk文件 当我运行时 Goo
  • WebView 在某些设备上如果不长按则不会滚动

    我有一个 WebView 设置如下 the web view mWebView WebView findViewById R id webView push the url on to the web view mWebView loadU
  • 在 Android 中更新到 API 26 时,清单合并失败并出现多个错误

    我尝试使用 API 26 更新我的 gradle 安卓工作室2 3 3 但我在编译项目时遇到以下错误 这是我收到的错误的屏幕截图 应用级别build gradle Top level build file where you can add

随机推荐

  • Rails ActiveRecord:保存嵌套模型被回滚

    使用 Rails 5 gem rails gt 5 0 0 gt 5 0 0 1 我创建了我能想到的最简单的示例来演示该问题 父级 rb class Parent lt ApplicationRecord has many children
  • 循环通过 SimpleXMLElement 来访问属性

    我正在尝试处理使用 SimpleXML 检索的数据 但遇到了很大的困难 我在这里阅读了很多关于这个主题的帖子 它们看起来都像我正在做的事情 但我的不起作用 这是我所得到的
  • 自定义通知中按钮的事件 OnClick

    我有一个带有按钮的自定义通知 要设置通知并使用按钮上的 OnClick 事件 我使用了以下代码 Notification and intent of the notification Notification notification ne
  • 如何在java中迭代json对象

    我正在尝试迭代我的 json 文件并获取所需的详细信息 这是我的 json 000 component c determinantType dt determinant d header h determinantvalue null 00
  • IE jQuery 不透明度抗锯齿问题

    我正在使用 jQuery 淡入和淡出主页上链接的 png 图像http www logandwight com 在 IE7 和 IE8 中 文本没有抗锯齿功能 并且都是四方形的 我尝试过弄乱不透明度设置 然后尝试专门为 IE 设置过滤器属性
  • 在更新页面上包括关系实体的列表视图

    我正在尝试扩展更新视图以包含编辑表单下方一些相关项目的列表视图 我有两个模型 Publishers 和 Volumes 它们具有多对多关系 我想做的是 当用户单击发布者的编辑按钮时 我希望他们转到具有标准编辑字段的页面 但在表单下方还有一个
  • Spring Batch JdbcPagingItemReader 似乎没有执行所有项目

    我正在开发一款应用程序 该应用程序从 Oracle 数据库中提取记录 然后将其导出为单个表格文件 但是 当我尝试使用 JdbcPagingItemReader 从数据库读取数据并写入文件时 我仅获得 pageSize 中指定的记录数 因此
  • R:根据条件的行值填充data.frame中的新列?

    我想根据行中的值在 data frame 中创建新列 如果 type 不等于 a 则我的 new area 列应包含来自 a 类型的 area 的数据 这是针对多个 距离 的 Example create data frame distan
  • Jruby:NameError:未初始化的常量 Neo4j

    我从 git 运行了这个例子 https github com andreasronge neo4j require rubygems require neo4j Neo4j Transaction run do node Neo4j No
  • useLocation 无法识别状态

    我开始使用react router 我发现我可以在 Link 组件中传递 props 以便某些值可以传递到另一个组件 我正在使用的按钮内发送一个名为 value 的组件 但是在接收该参数的组件中会显示一条错误消息 其中包含消息 对象可能为空
  • R - lubridate:将持续时间分割为“子持续时间”

    我有一个 R 整洁的数据集my durations其中数据框中的每个案例对应于在一段时间内采集的样本 如下所示 gt glimpse my durations Observations 300 Variables 5 sample id
  • 如何使用 Sys.Date() 获取上一年(2020 年)的摘录?

    Sys Date 给出今天的月 年和日期 2021 08 09 但是我该如何使用Sys Date 获取上一年 2020 的提取信息 谢谢你 Every Date or Datetime对象可以转换为POSIXlt其中 请参阅帮助 有许多子组
  • 从 Bash 中的行中删除中间的 n 个字符

    我正在尝试剪掉文件中每一行的中间部分 所有的行都是这样的 79 472850 97 SILENCE 我需要结束 79 472850 SILENCE 由于每行都有从字符 10 开始到字符 14 结束的不需要的部分 我试图以这种方式使用 sed
  • _IContactsAndGroupsCallback.OnLookUp

    我想按照以下指南为 Office 提供 IM 状态等http msdn microsoft com en US library office jj900715 aspx off15 IMIntegration ImplementRequir
  • Android 的 sqlite 加密

    我正在努力寻找在 Android 设备上加密我的 sqlite 数据库的可能性 但我无法找到令人满意的解决方案 我需要类似库之类的东西来引用 以便在使用正常的 sqlite 函数时对我的数据库进行 动态 加密 解密 我不想在存储之前加密数据
  • JTextArea不显示文本

    在我在文本区域中显示文本的函数中 我编写了以下代码行 但它没有显示任何文本 jTextArea1 setText Packet n jTextArea1 getText 我正在使用 swingworker 来执行后台任务 这是我的代码 pu
  • UIImage 将原始像素从白色更改为透明?

    我已经尝试了每个问题的一些代码 如何使 UIImage 上的一种颜色透明 如何遮盖 UIImage 以使白色在 iphone 上变得透明 但没有成功 不幸的是 使用核心图形和图像并不是我的强项 我将如何访问 UIImage 的原始数据并将白
  • android loadIcon 生成 outOfMemoryError

    我只有一点点ListView包含所有已安装的应用程序及其图标但如果安装了太多应用程序 我会遇到outOfMemoryErrors在做的时候 Drawable app icon applicationInfoList get i loadIc
  • 禁用 RichTextBox WF 上的删除按钮

    我试图禁止人们删除 Richtextbox 中的文本框 该项目使用windows窗体 这是我的代码 private void Form1 Load object sender EventArgs e richTextBox1 KeyPres
  • 如何在 Android 中运行媒体扫描仪

    我想在捕获图像时运行媒体扫描仪 捕获后 图像会在网格视图中更新 为此 我需要运行媒体扫描仪 我找到了两个解决方案来运行媒体扫描仪一个是播送事件 另一个是运行媒体扫描仪类 我认为在 Ice Cream Sandwich 4 0 中引入了媒体扫