通过广播Intent控制Android系统自带的音乐播放器
ZhengZhiren
http://blog.csdn.net/ZhengZhiRen/archive/2011/01/13/6134730.aspx
Android自带的音乐播放器只能算是系统之上的应用,并不包含在SDK中,因此SDK文档中没有提及。但是,有时我们需要控制系统音乐播放器的行为,比如切换歌曲、暂停/继续等。这就只能从这个应用的源代码着手了。
这是播放器的代码树:
http://android.git.kernel.org/?p=platform/packages/apps/Music.git;a=tree
可以看到,音乐的播放是由MediaPlaybackService这个服务实现的:
在服务的onCreate函数中,注册了IntentFilter和BroadcastReceiver。
这些Action常量在类的开头定义为:
BroadcastReceiver接收和IntentFilter匹配的Intent。根据intent.getAction或intent.getStringExtra("command")的内容,进行相应操作,控制播放器的播放。
由此,我们可以通过广播intent控制播放器了:
参考资料:
http://www.poemcode.net/2009/11/android_music/
http://android.git.kernel.org/?p=platform/packages/apps/Music.git;a=tree