6

背景:在 Android 4.4 中,Google 决定应用程序不应具有对 SD 卡的写入权限

但是,应用程序可以写入 /SDCard/Android/data/App 包名称。

所以这就是我所做的。我已将 MP3 文件写入 /Android/data/。然后我希望这个 MP3 文件显示在 Android 音乐播放器中。

我试过以下...

sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://"
            +文件路径)));

和....

    MediaScannerConnection.scanFile(这个,
          新字符串 [] { file.toString() },新字符串 [] {“音频/*”},
          新的 MediaScannerConnection.OnScanCompletedListener() {
      公共无效 onScanCompleted(字符串路径,Uri uri){
          Log.i("ExternalStorage", "已扫描" + 路径 + ":");
          Log.i("外部存储", "-> uri=" + uri);
      }
 });

和...

ContentResolver.requestSync(CreateSyncAccount(context), MediaStore.AUTHORITY, null);

这两个都会将文件作为一个文件添加到 MediaStore,其 URI 类似于 content://media/external/file/xxxxx

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

除了编写我自己的标签阅读器之外,我怎样才能让媒体扫描仪扫描文件并插入元数据,就像它在内部存储器和预 KitKat SD 卡上所做的那样?

4

1 回答 1

6

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

于 2014-04-02T16:57:49.587 回答