用于扫描“.m3u”的Android MediaScannerConnection或sendBroadcast

时间:2013-12-03 15:26:10

标签: android media android-mediaplayer playlist m3u8

我正在编写一个创建“.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”文件?我该怎么办?

谢谢你的帮助。

0 个答案:

没有答案