当我从最近的任务中刷我的应用程序时,我的服务停止,然后在几秒钟内重新启动。我希望它表现得更像潘多拉。
当您使用潘多拉音乐播放音乐并从最近的任务中滑动潘多拉时,音乐会继续播放而不会停止。我正在尝试在我的应用中实现此行为。
我看到这篇文章:Android: keeping a background service alive (preventing process death)似乎表明这样做的方法是使用startForeground方法。
我从http://developer.android.com/guide/components/services.html#Foreground
复制了此代码 Notification notification = new Notification(R.drawable.icon, getText(R.string.ticker_text),
System.currentTimeMillis());
Intent notificationIntent = new Intent(this, ExampleActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, getText(R.string.notification_title),
getText(R.string.notification_message), pendingIntent);
startForeground(ONGOING_NOTIFICATION_ID, notification);
确保我的通知ID不为零(它是1)。我也返回START_STICKY。我有什么问题吗?
编辑:上述行为发生在4.2。在4.4,通知不会消失。但是,我在服务中运行的线程停止并且不重新启动。至少在4.2上重启:/