怎么判断sd卡中的歌曲文件更新了?或者mediastore更新了?

wyp853127566 2010-11-10 07:30:34
做了个音乐播放器,如果有新歌曲的话就要重新扫描一遍。
那么怎么判断有新歌曲了呢?
而且如果删除歌曲了,也要重新扫描。要怎么判断删除操作呢?
必须是歌曲,sd卡中其他文件更新不行的。
...全文
296 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
AspireHouse 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dinjay 的回复:]

首先,扫描只能是自己定时半小时或者10分钟主动扫描一次sd卡,没有事件能去监控sd卡的文件变化。
所以要么是加个选项,要么就后台定时扫描,只能这样。这样每次扫描完毕,都将列表记录下来并更新listview,
如果当前列表和扫描出来的列表一致就不变化,否则就添加多的那几条。
[/Quote]
文件增加删除貌似还无法监听 ! 只能定时扫描了
纠结的木棉花 2010-11-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 dinjay 的回复:]

首先,扫描只能是自己定时半小时或者10分钟主动扫描一次sd卡,没有事件能去监控sd卡的文件变化。
所以要么是加个选项,要么就后台定时扫描,只能这样。这样每次扫描完毕,都将列表记录下来并更新listview,
如果当前列表和扫描出来的列表一致就不变化,否则就添加多的那几条。
[/Quote]
帮顶 mark
dinjay 2010-11-10
  • 打赏
  • 举报
回复
首先,扫描只能是自己定时半小时或者10分钟主动扫描一次sd卡,没有事件能去监控sd卡的文件变化。
所以要么是加个选项,要么就后台定时扫描,只能这样。这样每次扫描完毕,都将列表记录下来并更新listview,
如果当前列表和扫描出来的列表一致就不变化,否则就添加多的那几条。
freshui 2010-11-10
  • 打赏
  • 举报
回复
看下MediaScannerReceiver这个地方

在android系统默认的情况下,一般是在ACTION_BOOT_COMPLETED扫internal storage
在mount上磁盘后再扫下mount上的那个磁盘。
如果要扫描单个文件。

我记得linux上可以有一个 inotify, 可以监控文件系统改变,也许可以拿来尝试下<android_util_FileObserver.cpp也是使用这个方法>。这个因为是阻塞的过程,利用起来也不会耗费任何资源。
foley_liao 2010-11-10
  • 打赏
  • 举报
回复
我以前做个这个,我也是另外启动一个线程定时扫描,不过这样挺耗cpu资源的,楼主要好好考虑下

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧