Java 如何在WorkManager中处理应用程序终止场景?(解决方法)

Java 如何在WorkManager中处理应用程序终止场景?(解决方法),java,android,kotlin,android-architecture-components,android-workmanager,Java,Android,Kotlin,Android Architecture Components,Android Workmanager,我正在使用Work manager执行一些后台任务,根据文档,当应用程序被终止/强制停止时,工作将停止,直到用户下次重新打开应用程序 有没有什么方法可以在应用程序被关闭后重新启动工作 我正在使用一次性工作请求 val uploadOneTimeWorkRequest = OneTimeWorkRequest.Builder(UploadWorker::class.java) .setConstraints(constraints) .addTag(TAG_UPLO

我正在使用Work manager执行一些后台任务,根据文档,当应用程序被终止/强制停止时,工作将停止,直到用户下次重新打开应用程序

有没有什么方法可以在应用程序被关闭后重新启动工作

我正在使用一次性工作请求

val uploadOneTimeWorkRequest = OneTimeWorkRequest.Builder(UploadWorker::class.java)
        .setConstraints(constraints)
        .addTag(TAG_UPLOAD_STATUS)
        .build()

不幸的是,没有。强制停止将永久停止整个应用程序、所有服务、进程和所有内容。当你强制停止一个应用程序时,它甚至无法收到通知,所以,我很确定用户需要重新启动应用程序才能完成任务


顺便说一句,获取异常或从最近的应用程序中刷取应用程序是不同的,它们允许工作经理处理其作业。我的答案仅适用于显式强制停止。

工作将自动重新启动,直到满足设置的约束。i、 e.如果手机电池电量不足且使用移动数据,则不会与服务器同步,除非用户使用WIFI并正在充电或电池电量已满。谢谢您的评论。是的,但我的问题不是这样。我想知道是否有任何方法可以重新启动workmanager,即使应用程序在满足约束条件时被关闭。当然,您不需要手动执行任何操作。Workmanager在内部工作,并自动重新启动,即使您的应用程序被用户终止。(也就是说,从最近的屏幕上刷走,或者当应用程序在后台时被CPU杀死)。我建议看这段视频来了解更多当然,我看过这段视频,在我的问题中已经清楚地提到了。我想你还没有理解我的问题。无论如何,谢谢。在我的情况下,从“最近”刷应用程序也会停止工作管理器,直到重新打开应用程序,它才会重新启动。我正在尝试一加七。这是一些品牌唯一的问题吗?我想我听说最近有个地方股票android不会这么做。如果你的品牌像华为或小米,是的,这是可能的,我遇到过一些。除非以某种方式配置后台任务,否则它们会显式停止后台任务。您可以检查该链接以调整应用程序/电话设置,让工作人员工作。