如何在Android 4.4 KitKat SD卡上添加媒体到MediaStore与元数据



背景:在Android 4.4中,谷歌决定应用程序不应该对SD卡进行写访问。

但是,应用程序可以写入/SCard/Android/data/App Package Name。

这就是我所做的。我已经写了一个MP3文件到/Android/data/。然后我想要这个MP3文件显示在Android音乐播放器中。

我试过以下。。。

sendBroadcast(new Intent(Intent.ACTION_MEDIA_INSTALLED,Uri.parse("file://"+filePath))

和。。。。

MediaScannerConnection.scanFile(这个,new String[]{file.toString()},new String[]{"audio/*"},新的MediaScannerConnection。OnScanCompleteListener(){public void onScanCompleted(字符串路径,Uri-Uri){Log.i("ExternalStorage"、"Scanned"+路径+":");Log.i("ExternalStorage","->uri="+uri);}})

和。。。

ContentResolver.requestSync(CreateSyncAccount(上下文),MediaStore。AUTHORITY,无效)

这两者都会将文件添加到MediaStore中,作为一个URI如下的文件content://media/external/file/xxxxx

但是,该文件不会作为音频添加。我可以更新MediaStore以将文件声明为音频,但文件元数据没有导入。

除了编写自己的标签读取器之外,我如何让媒体扫描仪扫描文件并像在内部存储器和KitKat之前的SD卡上那样插入元数据?

我已经放弃了寻找解决方案。我认为没有,所以我已经提交了一份问题报告。

最新更新