android广播接收器仅适用于默认音乐播放器

时间:2015-04-12 11:21:25

标签: android broadcastreceiver android-music-player

我的问题是当我尝试将接收器注册到音乐播放器时

 IntentFilter iF = new IntentFilter();
 iF.addAction("com.android.music.metachanged");
 iF.addAction("com.android.music.playstatechanged");
 registerReceiver(mReceiver, iF);

此接收器在任何播放器运行时启动。我希望在默认音乐播放器更改的情况下收到通知。 如何获得默认播放器的独特操作?

1 个答案:

答案 0 :(得分:0)

这是因为您正在侦听MusicPlayer操作而不是应用程序包名称。所有的音乐播放器都采取同样的行动com.android.music.playstatechanged

您需要使用应用程序的包名称过滤此操作。我自己没有尝试过音乐播放器,但试一试。在接收器中添加此检查行。您可以将此包名替换为任何应用程序的任何其他包

if (intent.getAction().substring(0, action.lastIndexOf(".")).equals("com.google.android.music")) {

}