如何减少 Workmanager Android 的时间段? [英] How to decrease time period of Workmanager Android?

查看:25
本文介绍了如何减少 Workmanager Android 的时间段?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在检查其他链接,stackoverflow 以减少工作管理器的时间段,但我发现下面的链接

如何在WorkManager中减少PeriodicWorkManager的时间

上面的链接说最短时间是 15 分钟.

需要立即从移动设备向服务器发送数据.有什么办法可以缩短时间?

请帮我解决这个问题.提前致谢.

解决方案

我设法做的是一种黑客攻击.我从 doWork() 递归地调用了一个方法.然后每次检查时差,使递归在15分钟前停止.

 override suspend fun doWork(): Result {startTime = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis())做一些工作()返回 Result.success()}私人暂停乐趣 doSomeWork() {Log.d("SomeWorker", "------->working")val currentTime = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis())val diff = 当前时间 - 开始时间如果(差异<12L){Thread.sleep(30000)//这是新的时间间隔做一些工作()}}

这是完整的工人类:https://gist.github.com/WSAyan/7f3a75d05332984e24ad51418p>

I have been checking with the other links, stackoverflow to reduce time period of Work manager, but I found below link

How to reduce time of PeriodicWorkManager in WorkManager

Above link says that minimum time is 15 minutes.

Need to send data instantly from mobile to server. Is there any alternative for reducing the time period ?

Please help me on this.Thanks in Advance.

解决方案

What I managed to did is a sort of hack. I called a method recursively from doWork(). Then checked the time difference every time to make recursion stop before 15 minutes.

   override suspend fun doWork(): Result {
        startTime = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis())

        doSomeWork()

        return Result.success()
    }

   private suspend fun doSomeWork() {
        Log.d("SomeWorker", "-------> working")

        val currentTime = TimeUnit.MILLISECONDS.toMinutes(System.currentTimeMillis())
        val diff = currentTime - startTime
        if (diff < 12L) {
            Thread.sleep(30000) // this is the new time interval
            doSomeWork()
        }
    }

This is the full worker class: https://gist.github.com/WSAyan/7f3a75d05332984e24ad5418f0b1e38b

这篇关于如何减少 Workmanager Android 的时间段?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆