我的问题是当我尝试将接收器注册到音乐播放器时
IntentFilter iF = new IntentFilter();
iF.addAction("com.android.music.metachanged");
iF.addAction("com.android.music.playstatechanged");
registerReceiver(mReceiver, iF);
此接收器在任何播放器运行时启动。我希望在默认音乐播放器更改的情况下收到通知。 如何获得默认播放器的独特操作?
答案 0 :(得分:0)
这是因为您正在侦听MusicPlayer
操作而不是应用程序包名称。所有的音乐播放器都采取同样的行动com.android.music.playstatechanged
您需要使用应用程序的包名称过滤此操作。我自己没有尝试过音乐播放器,但试一试。在接收器中添加此检查行。您可以将此包名替换为任何应用程序的任何其他包
if (intent.getAction().substring(0, action.lastIndexOf(".")).equals("com.google.android.music")) {
}