【发布时间】:2015-05-27 06:25:35
【问题描述】:
我正在制作一个 android 音乐应用程序,我正在使用 SQLiteDatabase 从 Main 活动的 OnCreate() 的 ContentResolver 查询中获取歌曲值后存储它们。
但是,当我打开 Android 设备监视器并推送文件或动态 (new File(path).delete();) 删除文件时,如果我关闭应用程序并再次启动它或再次运行它,它不会在 ContentResolver 中更新Android Studio,启动时有另一个查询,但删除的歌曲仍然显示,添加的歌曲不显示。
由于文件已正确删除/添加到 ADM 中,我怀疑这是 ContentResolver 未更新的问题。我只修改了我的数据库以添加或删除歌曲行,因为我认为 ContentResolver 将自行更新。请帮助我如何确保它得到更新。
这也是让歌曲从根目录手动遍历文件系统的更好(并且可能)的方法吗?
【问题讨论】:
-
查看 MediaScannerConnection
-
@pskink 感谢您的提示,但是使用 MediaScannerConnection,如何扫描已删除的文件?我的意思是我是否只扫描它在删除之前的文件路径?行得通吗?
标签: java android cursor android-contentresolver