最近发布了一个 question如何从音乐应用程序中获取当前播放的歌曲,似乎通过响应表明没有简单的方法可以做到这一点. 至少在4.0中的android锁屏将显示当前的歌曲并且几乎适用于所有音乐
至少在4.0中的android锁屏将显示当前的歌曲并且几乎适用于所有音乐播放器,包括spotify.所以我的问题是锁屏是如何获得这些信息的?
通过 broadcast receiver,您可以创建广播接收器并在清单中为其定义过滤器.然后,发送此广播的所有音乐应用程序将触发您的onReceive方法以及从应用程序发送的信息.EDIT:
Intent intent = new Intent("com.android.music.playstatechanged"); intent.putExtra("playing", (mState & FLAG_PLAYING) != 0); if (song != null) { intent.putExtra("track", song.title); intent.putExtra("album", song.album); intent.putExtra("artist", song.artist); intent.putExtra("songid", song.id); intent.putExtra("albumid", song.albumId); } sendBroadcast(intent);
这是用于发送广播的股票播放器中的代码,查看广播接收器,你能够弄清楚如何获得所需的数据.
此外,你需要找到spotify的过滤器,AFIK这个适用于soptify.
“com.android.music.metachanged”或者看这里http://pastebin.com/ukfPnZwg