如何防止OS杀死我的MUSIC应用程序(使用MediaPlayer,服务)?

时间:2015-07-18 09:20:32

标签: android android-intent

我在我的MUSIC应用程序中使用Service,它需要运行直到我的应用程序被销毁,但问题是它被OS杀死(我的手机运行android 4.2.2,它有128MB的RAM)。所以当我按下HOME按钮或后退按钮时,操作系统总是会杀死应用程序服务。

我搜索了堆栈溢出并尝试了这个解决方案:

@Override
public int onStartCommand(Intent intent, int flags, int startId) {
    notify("Service is StartCommanded");
    myplayer.start();
     return START_STICKY;
}

但是音乐从开始位置重新开始,我不希望这种情况发生

1 个答案:

答案 0 :(得分:0)

当然,您的服务会为尝试播放的每首歌曲获取新的意图,尝试使用重新传递意图标记。

http://developer.android.com/reference/android/app/Service.html#START_FLAG_REDELIVERY

请记住,这不会让您的服务重新启动,因为它会尝试重新启动它的最大次数。

在onDestroy中找出你在音乐播放中的位置,存储该值并在再次开始播放时寻找该位置。

最后,如果您被系统快速杀死,您可能需要优化服务内部的内存消耗。