背景:在Android 4.4中,Google决定应用程序应为not have write access to SD cards。
但是,应用程序可以写入/SDCard/Android/data/App程序包名称。
这就是我所做的。我已将MP3文件写入/Android/data/。然后,我希望此MP3文件显示在Android音乐播放器中。
我尝试了以下方法...
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED,Uri.parse(“file://”
+ filePath)));
和....
MediaScannerConnection.scanFile(this,
新的String [] {file.toString()},新的String [] {“audio/*”},
新的MediaScannerConnection.OnScanCompletedListener(){
public void onScanCompleted(String path,Uri uri){
Log.i(“ExternalStorage”,“Scanned” + path +“:”);
Log.i(“ExternalStorage”,“-> uri =” + uri);
}
});
和...
ContentResolver.requestSync(CreateSyncAccount(context),MediaStore.AUTHORITY,null);
这两个都将把文件作为带有URI的文件添加到MediaStore中,例如content://media/external/file/xxxxx
但是,该文件未添加为音频。我可以更新MediaStore以将文件声明为音频,但不会导入文件元数据。
除了编写自己的标签读取器之外,我如何才能使媒体扫描器扫描文件并像在内部存储器和KitKat之前的SD卡上那样插入元数据?
最佳答案
我已经放弃寻找解决方案了。我不认为有一个,所以我已经提交了issue report。
关于android - 如何使用元数据将媒体添加到Android 4.4 KitKat SD卡上的MediaStore,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22084436/