2 tomjohnson tomjohnson 于 2014.11.30 11:10 提问

android4.4之后如何更新媒体库

android更新媒体库用的那个广播Intent.ACTION_MEDIA_MOUNTED在android4.4之后又不能用了。之后查到的MediaScannerConnection.scanFile(this, new String[]{Environment.getExternalStorageDirectory().getAbsolutePath()},这种方法也跟新不了,我想知道该怎么在我的音乐列表溢出来的时候跟新媒体库,好让我获取所有歌曲信息。

3个回答

BossDarcy
BossDarcy   2014.12.04 19:22

最简单的方式。

String saveAs = "Your_Created_File_Path"
Uri contentUri = Uri.fromFile(new File(saveAs));
Intent mediaScanIntent = new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE,contentUri);
getContext().sendBroadcast(mediaScanIntent);

更多地内容可以参考这篇文章Android扫描多媒体文件剖析

luosiye312
luosiye312   2015.09.24 18:09

android在4.4之后,不允许非系统级的应用发送系统广播,不管是ACTION_MEDIA_SCANNER_SCAN_FILE还是ACTION_MEDIA_MOUNTED的方式,其实都是系统级的,所以这些方法无效。至于要怎么解决这个问题,我也不知道。

leaf_520_
leaf_520_ ACTION_MEDIA_SCANNER_SCAN_FILE广播在6.0可以发 ACTION_MEDIA_MOUNTED广播不能发 可以用MediaScannerConnection.scanFile方法扫描媒体文件
接近 2 年之前 回复
nagelier
nagelier   2015.02.05 20:32

还是不可以啊,需要添加什么权限之类的吗

qq_27732323
qq_27732323 需要2个权限
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!