【问题标题】:Add background music through out app通过应用添加背景音乐
【发布时间】:2014-12-25 10:20:17
【问题描述】:

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

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

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();
      }
    }

您应该将它添加到每个活动 onPause,我这样做了,但它仍然没有工作。当您在 Activity 之间切换时,音乐不会停止,但在您退出应用程序时也不会停止。

提前感谢您的帮助。

【问题讨论】:

    标签: android service background


    【解决方案1】:

    服务设置如何?您是将服务绑定到活动还是将意图传递给服务。如果服务绑定到一个活动,那就可以解释为什么当你导航到另一个活动时,服务会死掉。服务绑定的活动不再存在。

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

    http://developer.android.com/guide/topics/media/mediaplayer.html

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

    【讨论】:

    • 好的,所以我对其进行了一些更改并设法在整个应用程序中播放音乐,但是当我使用主页或返回按钮退出它时它不会停止,只有当我通过访问关闭它时您可以在其中看到所有正在运行的应用程序的窗口。我该如何解决这个问题?
    • 更新,如果我按回则音乐停止,但如果我按主页则不会。
    • 如果某个服务正在您的应用中播放音乐,那么您必须告诉该服务停止播放音乐。除非您为它编写逻辑代码,否则它不会(也不应该)自己做。这就是为什么当您点击主页或返回按钮时,音乐不会停止播放。如果您希望应用程序在您按下主页按钮时停止播放音乐,您可以将其编码。如果您希望应用程序仅在您按下暂停按钮时停止,您还必须对其进行编码。应用程序只执行您的操作对其进行编程。
    • 我知道,但我的问题是到目前为止我所做的一切都没有奏效,我不明白为什么。我已经覆盖了 onStop、onPause 和 onDestroy,但它不起作用,音乐仍然继续播放。关于我还应该尝试什么的任何建议?
    • 对于主页按钮,override it。对于后退按钮,我将尝试查看您是否可以确定应用程序的后退堆栈中是否有任何内容。如果返回栈是空的,那么接下来你回击,你希望音乐停止播放,因为那样你将在应用程序之外。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-25
    • 1970-01-01
    相关资源
    最近更新 更多