从媒体存储获取数据时的内部 URI 与外部 URI

问题描述 投票:0回答:2

希望有人可以向我澄清这一点...我正在开发一个简单的视频播放器应用程序,可以播放手机上存储的视频剪辑。

我见过的所有示例都使用 MediaStore.Video.Media.EXTERNAL_CONTENT_URI 内容 Uri 来获取视频,类似的东西

cursor = resolver.query(MediaStore.Video.Media.EXTERNAL_CONTENT_URI, cols, whereClause, null, sortOrder);

但是它不会将列表限制为仅存储在 SD 卡上的文件吗?

较新的 Android 手机具有大量内部存储器 - 例如,三星 Galaxy S 通常配备 16Gb 内部存储器和 2Gb SD 卡。

我应该使用外部内容 uri 和内部内容扫描媒体存储两次吗?

我再次看到了大约 10 个音频和视频播放器的示例,并且它们都仅使用外部。

甚至检查了库存音乐播放器的源代码,它也仅从外部卡中提取。

android external internal mediastore
2个回答
9
投票

进行了一些测试,看来答案取决于。在 Android 模拟器和 HTC mytouch 上,它仅获取外部 SD 卡上的项目,而在 Samsung Galaxy S 上,它实际上也从内部存储中获取。

这是我真正讨厌 Android 的部分 - 为什么这么简单的事情却如此不同


1
投票

尝试使用

MediaStore.Video.Media.INTERNAL_CONTENT_URI

© www.soinside.com 2019 - 2024. All rights reserved.