Android 通过out应用程序添加背景音乐

Android 通过out应用程序添加背景音乐,android,service,background,Android,Service,Background,我无法将背景音乐添加到我的应用程序。我有三个活动,我希望音乐继续播放,无论用户是否切换活动。我目前正在使用一项服务播放音乐,但这会导致音乐在每次不同的活动开始时启动和停止 我在论坛中多次找到此解决方案,但它似乎不起作用: Context context = getApplicationContext(); ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);

我无法将背景音乐添加到我的应用程序。我有三个活动,我希望音乐继续播放,无论用户是否切换活动。我目前正在使用一项服务播放音乐,但这会导致音乐在每次不同的活动开始时启动和停止

我在论坛中多次找到此解决方案,但它似乎不起作用:

Context context = getApplicationContext();
    ActivityManager am = (ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningTaskInfo> taskInfo = am.getRunningTasks(1);
    if (!taskInfo.isEmpty()) {
      ComponentName topActivity = taskInfo.get(0).topActivity; 
      if (!topActivity.getPackageName().equals(context.getPackageName())) {
        player.stop();
      }
    }
Context-Context=getApplicationContext();
ActivityManager am=(ActivityManager)context.getSystemService(context.ACTIVITY_服务);
List taskInfo=am.getRunningTasks(1);
如果(!taskInfo.isEmpty()){
ComponentName topActivity=taskInfo.get(0).topActivity;
如果(!topActivity.getPackageName().equals(context.getPackageName())){
player.stop();
}
}
你应该把它添加到暂停时的每一个活动中,我这么做了,但它仍然不起作用。当你在活动之间切换时,音乐不会停止,但当你退出应用程序时,音乐也不会停止


提前感谢您的帮助。

服务设置如何?您是将服务绑定到活动还是向服务传递意图。如果服务绑定到一个活动,这将解释为什么当您导航到另一个活动时,服务会终止。服务绑定到的活动不再存在

如果您正在运行并向服务传递意图,那么希望您不会向服务传递任何东西来停止播放。如果您在应用程序外部导航,该服务仍应在前台运行,并在通知栏上显示通知


你可能想看看我上面链接的指南。

好的,所以我对它做了一些修改,并设法让音乐在整个应用程序中播放,但是当我使用home(主页)或back(后退)按钮退出它时,它不会停止,只有当我通过访问窗口关闭它时,你才能看到所有正在运行的应用程序。如何修复此问题?更新,如果我按back,音乐将停止播放,但如果我按home,音乐将停止播放。如果服务正在您的应用程序中播放音乐,则您必须通知服务停止播放音乐。它不会(也不应该)自己做,除非你为它编写逻辑代码。这就是为什么当你按下home(主页)或back(后退)按钮时,音乐不会停止播放。如果你想让应用程序在你按下home(主页)按钮时停止播放音乐,你可以输入代码。如果你想让应用程序只在你按下暂停按钮时停止,你还必须输入代码。这个应用程序只做你编程它要做的事情。我知道,但我的问题是,到目前为止我尝试做的一切都没有成功,我不明白为什么。我已经覆盖了onStop、onPause和onDestroy,但它不起作用,音乐仍在继续播放。关于我还应该尝试什么,有什么建议吗?对于主页按钮。对于back按钮,我将尝试查看是否可以确定应用程序的后堆栈中是否有任何内容。如果back stack为空,那么下一步你点击back,你希望音乐停止播放,因为这样你就不在应用程序中了。