最近发布了一个question如何从音乐应用程序中发现当前播放的歌曲,似乎有回应,没有简单的方法可以做到这一点。
Android锁屏至少在4.0+以上会显示当前的歌曲,几乎可以与任何音乐播放器一起使用,包括spotify。所以我的问题是锁屏是如何获取这些信息的?
答案 0 :(得分:5)
在Android 4.0和4.1上,您看到的锁屏部分称为“遥控器”。您可以call registerRemoteControlClient()
向其提供信息。
在Android 4.2及更高版本中,欢迎您创建自己的支持锁屏的应用小部件。
答案 1 :(得分:2)
通过broadcast receiver,您可以创建广播接收器并在清单中为其定义过滤器。然后,发送此广播的所有音乐应用程序将触发您的onReceive方法,以及从应用程序发送的信息。
编辑:
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