Kotlin 在 onTaskRemoved 时启动工作程序

问题描述

我有一个服务,当应用程序被删除/关闭时会被调用。 该服务将启动 OneTimeWorkRequest。 不知何故,当 onTaskRemoved 被调用时,Workmanager 永远不会启动。

有没有办法确保当应用程序被终止时 Workmanager 开始工作?

这是我的代码: AndroidManifest.xml

<service android:name=".OnClearFromRecentService"
    android:enabled="true"
    android:exported="true"
    android:stopWithTask="false" />

OnClearFromRecentService.kt

class OnClearFromRecentService : Service() {

    override fun onBind(p0: Intent?): IBinder? {
        TODO("Not yet implemented")
    }

    override fun onStartCommand(intent: Intent?,flags: Int,startId: Int): Int {
        Log.d("log","Service Started")
        return START_STICKY
    }

    override fun onDestroy() {
        super.onDestroy()
        Log.d("log","Service Destroyed")
    }

    override fun onTaskRemoved(rootIntent: Intent?) {
        Log.d("log","END")

        val request = OneTimeWorkRequestBuilder<BackgroundTask>()
            .addTag("oneTime")
            .build()
        WorkManager.getInstance(this).enqueue(request)
        
        stopSelf()
    }

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...