问题标签 [mediastore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3854 浏览

android - 删除文件和 MediaStore-Entry

从通过 mediastore 显示的 SD 卡中删除文件时,我遇到了两个问题。

我有一个列表视图,由 mediastore 查询的结果和底部的 4 个按钮填充,其中一个应该删除选定的项目。

到目前为止,文件本身的删除工作正常。然而,列表永远不会更新——即使我重新启动程序也不会。所以..我在下面添加了整个代码。

0 投票
3 回答
5153 浏览

android - MediaStore 获取图像高度/宽度

我正在查询MediaStore.Images.Media.EXTERNAL_CONTENT_URI并且查询工作正常。我能够从具有常数的每一列中获取数据,例如:

宽度/高度列没有常数(no MediaStore.Images.Media.WIDTH),所以我尝试使用imagecursor.getLong(imagecursor.getColumnIndex("width"));.

尝试使用 getLong、getString、getInt... 什么都没有 - 总是同样的崩溃。

这是堆栈:

将不胜感激任何帮助...不知道我还能尝试什么。

谢谢!

0 投票
1 回答
928 浏览

java - 是否可以对 Android 的媒体元 sqlite 数据库进行原始查询?

我正在编写一个小应用程序来播放音乐。我的目标是 Android API 7 级及以上。

应用程序应仅列出和播放已标记有用户通过偏好选择的特定类型集的音乐,例如“流行”、“摇滚”、“乡巴佬”。

现在,我正在尝试找到一种有效的方法来查找所有专辑 ID 和专辑名称,其中包含带有所选流派标记的曲目。

这在 SQL 中很容易。手机将媒体元数据存储在 sqlite 数据库中。我在手机的内存中找到了它,通过 adb 复制了它并尝试了一些 sqlite 查询。生成的查询是一个带有连接链的 SQL 单线,它工作正常。

这在带有 Android SDK 的 Java 中似乎更加困难,至少在 API 级别 7 及更高版本中。我可以在 MediaStore 上使用 managedQuery 在同一个基础数据库上执行一些有限的 SQL 语法,但如果我理解正确,则在使用此 API 时没有 JOIN 和 DISTINCT。

我也可能忽略了这一点,但 MediaStore 允许我搜索一种流派的所有曲目,但不能在单个查询中搜索多种流派的所有曲目。

所以这一切都需要在java中进行一些手动工作。该程序现在必须为每种类型执行几次 managedQuery() 调用,并且程序必须在 sqlite 之外(该工作所属的地方)加入结果并使它们与 java 不同。

这真的是必须要做的吗?有没有办法只向 sqlite 数据库文件发送原始查询?

谢谢!

0 投票
1 回答
2217 浏览

android - 在 MediaStore managedQuery 中指定一个文件夹

您好我想在 SD 卡上指定一个文件夹以检索该文件夹子文件夹(例如 /mnt/sdcard/Folder/SubFolder)中的所有图像。我有这个:

在我的 gridview 的 setAdapter 中,我有:

这行得通,但向我显示 sdcard 中包含的所有图像...我尝试设置一个 URI 路径,例如“content:///mnt/sdcard/folder/subfolder”,但它不起作用...我怎么能在 MediaStore managedQuery 中指定要扫描的特定文件夹?

谢谢大家!:)

0 投票
1 回答
1045 浏览

android - ListView 显示来自 mediastore 的音频和视频

我正在尝试创建一个同时显示来自 mediastore 的音频和视频的列表。但是,我不确定如何创建这样的查询 - 甚至可以同时获取音频和视频的信息吗?

所以要查询视频和音频,我这样做:

我研究过使用CursorJoineror MergeCursor,但我不确定如何使用这些,甚至不确定它是正确的解决方案。

所以我的问题是;有没有办法为 mediaStore 构造一个查询,该查询返回一个带有音频和视频信息的游标,或者我需要更复杂的东西,例如使用CursorJoineror MergeCursor

正如我在开始时提到的,我的目标是在媒体商店中有一个显示所有音频和视频的列表 - 这是正确的方法还是我从错误的角度看待它?

谢谢。

0 投票
1 回答
6961 浏览

android - 使用 asynctask 从内容提供者加载图像位图

我一直在尝试通过 MediaStore 内容提供程序查询 sd 卡上的所有图像,并在 GridView 上显示它们的缩略图。

但是,如果我在主线程上加载图像缩略图,滚动会变得非常慢......

所以我尝试通过 asynctasks 加载位图:滚动性能变得更好,但现在网格项目不断重新加载它们的缩略图,直到它获得正确的位图......

这是我的异步任务,它加载位图:

这是我的自定义光标适配器:

我使用此代码查询光标并将其发送到适配器:

看起来我的自定义光标适配器上的 bindview() 被调用的频率比预期的要高......任何人都知道如何让我的 gridview 上的图像在保持滚动性能的同时停止重新加载?

提前致谢。

0 投票
1 回答
2665 浏览

android - 如何检测是否正在对 Android 上的新媒体文件进行扫描(在后台)

我有两个活动:主要和处理。在处理活动中对文件夹中的文件名进行编辑操作,然后开始扫描以通过广播进行更新,并检查扫描何时完成。

如果扫描正在运行,我想通过 Activity 阻止处理。我可以先检查扫描是否未运行,然后启动第二个处理活动?像这样。

我需要检查这一点,因为如果我在 android 运行扫描时重命名文件,当我在处理活动中编辑文件时,最后我会在文件夹中找到大小为 0 字节的其他文件,就像更改之前一样。所以我必须等待扫描完成。我找不到解决方案。

更新:我发现了这个

我试试这个

我总是得到“content://media/none/media_scanner”......如果我在发送 ACTION_MEDIA_MOUNTED 后询问 getMediaScannerUri(),我应该得到与“content://media/none/media_scanner”不同的东西???

0 投票
4 回答
24675 浏览

android - 如何获取和设置(更改)音频文件的 ID3 标签(元数据)?

我正在努力更改 ID3 标签,音频文件中的元数据,例如:

  • 艺术家
  • 标题
  • 专辑
  • 等等

而核心点,。编辑过的 ID3 标签应该只显示在我的应用程序中。

0 投票
1 回答
503 浏览

android - 在android中一起列出音频和视频

我需要在列表视图中列出每个音频和视频文件。

我知道如何列出音频以及如何使用单独列出视频

有没有其他方法可以同时列出音频和视频。

0 投票
3 回答
3416 浏览

android - 在 OnActivityResult() 中调用 data.getData 时出现 NullPointerException?

我正在尝试通过调用显示相机拍摄的已保存图片的路径

在 Toast 中,但应用程序崩溃。我也试过data.getDataString但没有解决

任何事物。

代码: