我正在使用 Android MediaPlayer 类从正在运行的服务类播放 mp3 文件。如果用户停止查看五个活动中的任何一个,我想停止播放音乐播放器。
我尝试使用此处的代码向拥有 MediaPlayer 的服务发送广播意图。这样,当服务内部的广播接收器接收到这个意图时,它将调用 player.pause() 方法来停止播放音乐。
但是它不起作用。我在查看其中一项活动时启动了播放器,然后我离开了应用程序并查看了其他一些应用程序,例如 Android 日历应用程序。音乐不会停止并继续播放。
关于如何解决这个问题的任何想法?
public class Monitor extends Application {
@Override
public void onCreate(){
super.onCreate();
if(activityVisible==false){
Intent intent = new Intent();
intent.setAction("com.sample.test");
sendBroadcast(intent);
}
}
public static boolean isActivityVisible() {
return activityVisible;
}
public static void activityResumed() {
activityVisible = true;
}
public static void activityPaused() {
activityVisible = false;
}
private static boolean activityVisible;
}
这是我在其他 5 项活动中的内容;
@Override
protected void onResume() {
super.onResume();
Monitior.activityResumed();
}
@Override
protected void onPause() {
super.onPause();
Monitor.activityPaused();
}