我在我的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;
}
但是音乐从开始位置重新开始,我不希望这种情况发生
答案 0 :(得分:0)
当然,您的服务会为尝试播放的每首歌曲获取新的意图,尝试使用重新传递意图标记。
http://developer.android.com/reference/android/app/Service.html#START_FLAG_REDELIVERY
请记住,这不会让您的服务重新启动,因为它会尝试重新启动它的最大次数。
在onDestroy中找出你在音乐播放中的位置,存储该值并在再次开始播放时寻找该位置。
最后,如果您被系统快速杀死,您可能需要优化服务内部的内存消耗。