背景:在Android 4.4中,Google决定应用程序不得访问SD卡的写入权限。
然而,应用程序可以将文件写入/SDCard/Android/data/App Package Name。
所以这就是我所做的。我已经将一个MP3文件写入/Android/data/。然后我想让这个MP3文件出现在Android音乐播放器中。
我尝试了以下方法...
然而,应用程序可以将文件写入/SDCard/Android/data/App Package Name。
所以这就是我所做的。我已经将一个MP3文件写入/Android/data/。然后我想让这个MP3文件出现在Android音乐播放器中。
我尝试了以下方法...
sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + filePath)));和...
MediaScannerConnection.scanFile(this, new String[] { file.toString() }, new String[] {"audio/*"}, new 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);
这两个操作都会将文件添加到MediaStore,生成的URI格式为content://media/external/file/xxxxx。
然而,该文件并未被添加为音频文件。我可以更新MediaStore以将文件声明为音频文件,但是文件元数据不会被导入。
除了编写自己的标签阅读器,我如何让媒体扫描程序扫描文件并像在内部存储器和预安装KitKat SD卡上那样插入元数据?