首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MediaStore中的空游标

MediaStore中的空游标
EN

Stack Overflow用户
提问于 2011-02-12 03:04:35
回答 2查看 3.4K关注 0票数 3

我不明白为什么这个光标只在这一个特定的设备上是空的。但适用于所有其他android设备。SD卡上有几个音频文件,股票mediaplayer可以找到并正常播放这些歌曲。

代码语言:javascript
复制
Cursor c = managedQuery(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, new String[] { "distinct " + MediaStore.Audio.Media.ALBUM, MediaStore.Audio.Media.ARTIST, MediaStore.Audio.Media.ALBUM_KEY, MediaStore.Audio.Media.ALBUM_ID}, 
                null,
                null, 
                MediaStore.Audio.Media.ARTIST);

ambling图书播放器(我猜他们只是在文件夹中循环并执行自己的id3解析)和普通的安卓音乐播放器都能找到音乐,但我无法从媒体存储中获得任何东西。不存在".nomedia“文件,我已尝试将新的mp3文件插入到新文件夹中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-12 04:50:18

我遇到过类似的情况,发现了几个答案,但没有一个被证明是令人满意的。

媒体扫描程序在启动时响应系统触发的广播意图ACTION_MEDIA_MOUNTED而运行。因此,首先要检查的是重新启动。

据我所知,扫描程序也将在设置>管理应用程序>媒体存储>清除数据之后运行,并从存储中重新填充媒体存储。我试过了,它在没有效果的情况下工作..当然,我不能保证安全性,也不会在非开发设备上这样做。

您也可以手动

代码语言:javascript
复制
mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse
        ("file://" + Environment.getExternalStorageDirectory()))); 

并在观看intent ACTION_MEDIA_SCANNER_FINISHED的广播时张贴某种通知。

如果您自己导入媒体,请查看MediaScannerConnection以启动扫描仪。

哦,如果你打算使用谷歌的Nexus之类的设备,你需要使用INTERNAL_CONTENT_URI。

票数 2
EN

Stack Overflow用户

发布于 2011-04-11 00:16:47

我在HTC上遇到了同样的问题,令人难以置信的是,DJC的答案对我不起作用。EXTERNAL_CONTENT_URI和INTERNAL_CONTENT_URI都没有给我任何图像。经过一些挖掘,我发现通过使用以下内容URI,它似乎确实在HTC上不可思议地工作。

代码语言:javascript
复制
Uri contenturi = Images.Media.getContentUri("phoneStorage");
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4972968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档