gpt4 book ai didi

android - 当应用程序在 android pie (API 28) 中被杀死时,检测网络状态并从后台上传视频数据

转载 作者:搜寻专家 更新时间:2023-11-01 09:21:00 26 4
gpt4 key购买 nike

我需要将数据记录从本地数据库上传到服务器,其中还包括一个大约 30 MB 大小的视频文件。当网络可用时,即使应用程序被终止,也会发生上述上传。现在为了检测网络变化,在 Android N 及更高版本中 CONNECTIVITY_CHANGE 和 CONNECTIVITY_ACTION 已弃用,因此广播接收器没有用。此外,CONNECTIVITY_ACTION 在 API 28 (Pie) 中已弃用。

许多答案建议将 JobSchedular 用于此类任务,但它对较小的上传很有用。

引用了这个:Detect CONNECTIVITY CHANGE in Android 7 and above when app is killed/in background

工作管理器 https://developer.android.com/topic/libraries/architecture/workmanager.html

那么当应用程序被杀死并执行上述上传任务时,我如何检测 Pie(API 28)中的网络变化。

最佳答案

JobSchedulerWorkManager 有 10 分钟的超时。如果上传时间比这更长,那么您必须使用前台服务!

考虑到设备的资源有限,从 Android 8.0 开始,谷歌在管理应用的后台任务方面采取了一些严格的措施。对于任何长时间运行的任务,应用程序必须使用前台 Service,以便用户始终知道它。

因此,在使用 WorkManagerJobScheduler 安排您的任务后,您可以启动前台 Service,您可以在其中执行上传过程视频。 ( reference )

并且在您的服务中,您可以使用ConnectivityManager.registerNetworkCallback 来监听网络连接。 ( reference )

关于android - 当应用程序在 android pie (API 28) 中被杀死时,检测网络状态并从后台上传视频数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55495881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com