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