我不明白为什么这个光标只在这一个特定的设备上是空的。但适用于所有其他android设备。SD卡上有几个音频文件,股票mediaplayer可以找到并正常播放这些歌曲。
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文件插入到新文件夹中。
发布于 2011-02-12 04:50:18
我遇到过类似的情况,发现了几个答案,但没有一个被证明是令人满意的。
媒体扫描程序在启动时响应系统触发的广播意图ACTION_MEDIA_MOUNTED而运行。因此,首先要检查的是重新启动。
据我所知,扫描程序也将在设置>管理应用程序>媒体存储>清除数据之后运行,并从存储中重新填充媒体存储。我试过了,它在没有效果的情况下工作..当然,我不能保证安全性,也不会在非开发设备上这样做。
您也可以手动
mContext.sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse
("file://" + Environment.getExternalStorageDirectory()))); 并在观看intent ACTION_MEDIA_SCANNER_FINISHED的广播时张贴某种通知。
如果您自己导入媒体,请查看MediaScannerConnection以启动扫描仪。
哦,如果你打算使用谷歌的Nexus之类的设备,你需要使用INTERNAL_CONTENT_URI。
发布于 2011-04-11 00:16:47
我在HTC上遇到了同样的问题,令人难以置信的是,DJC的答案对我不起作用。EXTERNAL_CONTENT_URI和INTERNAL_CONTENT_URI都没有给我任何图像。经过一些挖掘,我发现通过使用以下内容URI,它似乎确实在HTC上不可思议地工作。
Uri contenturi = Images.Media.getContentUri("phoneStorage");https://stackoverflow.com/questions/4972968
复制相似问题