如何提取当前在Android中的任何音乐播放器中播放的歌曲名称

时间:2015-12-16 09:35:39

标签: android audio-player android-music-player

enter image description here

IntentFiLter iF IntentFiLter();
iF.addAction("com.android.music.metachanged");
iF.addAction("com.htc.music.metachanged");
iF.addAction("fm.last.android.metachanged");
iF.addAction("com.sec.android.app.music.metachanged");
iF.addAction("com.nullsoft.winamp.metachanged");
iF.addAction("com.amazon.mp3.metachanged");
iF.addAction("com.miui.player.metachanged");
iF.addAction("com.Peal.IMP.metachanged");
iF.addAction("com.sonyericsson.music.metachanged");
iF.addAction("com.Pdio.andPoid.metachanged");
iF.addAction("com.samsung.sec.android.MusicPlayeP.metachanged");
iF.addAction("com.andPew.apollo.metachanged");

registerReceiver(mReceiveP, iF);

问题是当我第一次打开应用程序时,它没有显示该歌曲的名称。但现在当应用程序打开并播放下一首歌曲时,它会正确显示名称。我第一次打开应用程序时需要做的事情才能自动播放当前的歌曲。

请帮忙

1 个答案:

答案 0 :(得分:0)

您正在注册IntentFilter以接收不同音乐播放器的广播。每当歌曲开始时(如开始播放),音乐播放器就播放该信息。当您的应用程序启动时,当前的歌曲已经播放(如在应用程序启动之前开始播放),因此没有广播。

你可以创建一个注册到BroadcastIntent的Service,它将歌曲信息存储到例如:您的应用在启动时可以检索的SharedPref。