2

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

谢谢你的帮助。

4

0 回答 0