我正在编写一个创建“.m3u”文件的应用程序。 在应用程序运行结束时,我尝试扫描新媒体(m3u)文件。 起初我使用的是sendBroadcast功能:
Intent UpdateMediaIntent;
UpdateMediaIntent = new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory()));
sendBroadcast(UpdateMediaIntent);
将我的Android从4.3更新到4.4 Kitkat之后,这段代码崩溃了我的应用程序。
not allowed to send broadcast android.intent.action.MEDIA_MOUNTED
我在互联网上找到了下一个解决方案:
MediaScannerConnection.scanFile(this,
new String[] { file.toString() }, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
}
});
上面的代码不会导致我的应用崩溃,但不会扫描“.m3u”文件。我创建播放列表,但应用程序(媒体播放器)看不到它。当我使用sendBroadcast时 - 一切都很好。 MediaScannerConnection代码有什么问题?我看到日志文件被扫描,但uri为空。 MediaScannerConnection不扫描“.m3u”文件?我该怎么办?
谢谢你的帮助。