RT。
我的操作步骤是:
1. 插入SD卡
2. 播放歌曲。
3. 播放歌曲的过程中到设置界面,执行卸载SD卡操作
4. 等待卸载过程结束,并观察音乐播放的notification;我这边的表现是,执行3之后,音乐停止,但是图标会消失一下然后重现,然后过一段时间(大约5s)消失。这个表现的原因是在执行卸载sd的时候,系统会强行杀掉所有和sd有关的进程,然后5s之后重启。我查看过framework的代码的执行过程:执行卸载操作之后,调用MountService的操作,这些操作中包括取得所有和SD卡相关的进程的pid,然后逐一的强行执行kill -9 pid操作,等待所有进程操作结束后,才开始真正执行volume unmount命令。然后NativeDaemonConnector在接收到命令的执行返回socket之后,调用回调onEvent,在这里发送ACTION_MEDIA_EJECT。问题是,MediaPlaybackService需要接收ACTION_MEDIA_EJECT做一些处理(stop playing等),这个就是引起notification表现异常的原因。这个异常是不能接受的,不知道有没有人遇到过类似的问题,有什么解决方案?
谢谢。