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

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

最简单的方式。

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扫描多媒体文件剖析

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

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