使用stopWithTask =“ true”时未在Service上调用onDestroy

时间:2018-07-09 14:15:06

标签: android android-service

我有一个前景Service,用于录音(AudioRecordingService)。在AndroidManifest中这样声明:

<service
     android:name=".recording.AudioRecordingService"
     android:stopWithTask="true" />

它扩展了Service,并以startService开头

public class AudioRecordingService extends Service

onStartCommand中收到了意图。

onDestroy中,我停止音频录制并启动另一个处理音频上传的前台服务。

通过滑动应用程序(关闭任务)关闭应用程序时,onDestroy中不会调用

AudioRecordingService。仅在服务上调用stopSelf时才调用。

2 个答案:

答案 0 :(得分:0)

我认为您需要将活动设置为一项任务。

https://developer.android.com/guide/components/activities/tasks-and-back-stack

请参阅:“ singleTask”

答案 1 :(得分:0)

似乎无法保证会调用onDestroy。 可以在这篇文章中找到更多信息:Is an android service guaranteed to call onDestroy()?