用户从通话活动返回后继续网络操作

问题描述 投票:0回答:1

我正在开发一个社交应用程序,用户可以在其中发送媒体,现在当用户处于聊天活动时用户选择并发送视频/照片,我们正在使用网络操作的改造,我们正在通过简单的帖子上传附件请求,现在如果用户在完成文件上传之前推迟,则文件不会上传到服务器,现在请任何人帮助我实现这一目标。

我尝试过后台线程机器人不起作用。

android kotlin retrofit2
1个回答
0
投票

您考虑过使用 WorkManager 吗?

    class MediaUploadWorker(appContext: Context, workerParams: WorkerParameters)
        : Worker(appContext, workerParams) {
    
        override fun doWork(): Result {
            try {
                // Upload your file using Retrofit or any other method.
                // ...
    
                // If the upload is successful
                return Result.success()
            } catch (e: Exception) {
                // If there's an error, you might want to retry depending on the error
                return Result.retry()
            }
        }

}

但首先,您必须包含依赖项

每当您想要开始上传时(即,当用户选择要发送的文件时),您可以像这样将工作排队:

val uploadWorkRequest = OneOffWorkRequestBuilder<MediaUploadWorker>()
    .setInputData(workData) // If you need to pass data to the worker
    .build()

WorkManager.getInstance(context).enqueue(uploadWorkRequest)

使用 WorkManager,即使用户离开活动或关闭应用程序,任务也将继续执行。系统将根据您指定的条件来运行您的任务,甚至会考虑电池优化。

© www.soinside.com 2019 - 2024. All rights reserved.