Android 活动停止/关闭时音乐服务是否停止?

Android 活动停止/关闭时音乐服务是否停止?,android,android-service,background-music,Android,Android Service,Background Music,我已经为我的应用程序(一个音乐播放器)创建了一个音乐服务,在做了一些测试之后,我发现一种行为让我头疼,因为我不知道如何解决它 出于测试目的,我修改了该服务,以便它一启动,就可以从我的sd卡播放特定的mp3文件。此外,我还修改了应用程序,以便启动第一个活动,启动服务,然后调用“finish()” 好吧,那么。。。我启动应用程序,第一个活动开始,我的服务开始播放音乐,活动结束,应用程序关闭,然后。。。音乐停止,几秒钟后服务重新启动(我使用的是START_STICKY标志,所以我认为这是正常的) 我不

我已经为我的应用程序(一个音乐播放器)创建了一个音乐服务,在做了一些测试之后,我发现一种行为让我头疼,因为我不知道如何解决它

出于测试目的,我修改了该服务,以便它一启动,就可以从我的sd卡播放特定的mp3文件。此外,我还修改了应用程序,以便启动第一个活动,启动服务,然后调用“finish()”

好吧,那么。。。我启动应用程序,第一个活动开始,我的服务开始播放音乐,活动结束,应用程序关闭,然后。。。音乐停止,几秒钟后服务重新启动(我使用的是START_STICKY标志,所以我认为这是正常的)

我不希望在关闭应用程序时停止音乐,或者换句话说,我不希望在关闭应用程序时停止服务(然后重新启动,因为它已停止)

现在,为了控制音乐服务,我启动服务,然后绑定到它,以便调用我在接口中定义的服务函数

有什么想法吗

谢谢

编辑:

这是我的应用程序和服务的一个示例(在我正在进行的测试中)

活动:

public class FirstActivity extends SherlockFragmentActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        startService(new Intent(this, MyService.class));

        ...
        // Here is a postDelayed that will run after 2 seconds and call finish()
    }
}
服务:

public class MyService extends Service {
    private MediaPlayer mPlayer;

    @Override
    public void onCreate() {
        mPlayer = new MusicPlayer(this);
    }

    @Override
    public int onStartCommand(Intent intent, int flags, int startId) {
        // Here is the code that plays the music using MediaPlayer

        return START_STICKY;
    }
}

不要忘了在清单应用程序标记中注明服务是远程的:

<service
  android:name="somepackage.PlayerService"
  android:label="Player Service"
  android:process=":remote"/>


请注意,
remote
名称可以是其他名称,因此您可以拥有多个未绑定到主应用程序进程的服务

与我一起编写应用程序的朋友没有尝试相同的行为。对他来说,这是完美的。也许我的问题与HTC Sense有关?(我有一个HTC One S)。一个代码示例将帮助您确定您正在做什么,并尽快尝试。可悲的是,这需要一些时间,因为我丢失了音乐服务代码(而且我没有新代码的副本)。谢谢如果你想要一个工作的例子,我在我的mod player项目中成功地使用了它!感谢您的解决方案:)