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

如何提取android中任何音乐播放器当前播放的歌曲名称,android,audio-player,android-music-player,Android,Audio Player,Android Music Player,问题是当我第一次打开应用程序时,它没有显示歌曲的名称。但现在,当应用程序打开并播放下一首歌曲时,它会正确显示名称。当我第一次打开应用程序时,需要做一些事情,以便它自动播放当前歌曲 请帮助您正在注册一个意向过滤器,以接收不同音乐播放器的广播。每当歌曲开始播放时(如开始播放),音乐播放器就会播放此信息。当应用程序启动时,当前歌曲已在播放(如应用程序启动前已开始播放),因此不会播放该歌曲 您可以创建一个注册到BroadcastIntent的服务,该服务将歌曲信息存储到例如SharedRefs中,供您的

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


请帮助

您正在注册一个
意向过滤器
,以接收不同音乐播放器的广播。每当歌曲开始播放时(如开始播放),音乐播放器就会播放此信息。当应用程序启动时,当前歌曲已在播放(如应用程序启动前已开始播放),因此不会播放该歌曲


您可以创建一个注册到BroadcastIntent的
服务,该服务将歌曲信息存储到例如SharedRefs中,供您的应用程序在启动时检索。

请不要发布代码截图。只需复制代码,将其格式化为您问题中的代码。我将使用注册到BroadcastIntent的服务来存储歌曲信息。但该服务需要一直运行。怎么做?也许是个好的开始。它不需要一直运行。使用广播接收器,操作系统将在相关广播事件中唤醒它。您是说,一旦某个媒体播放器广播,我的服务将自动启动?我必须使用哪种类型的服务,你能具体说明一下吗
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);