Android 有没有办法在安卓系统上安装一个后台服务,在准确的时间执行网络操作,而不被安卓系统杀死?
我有以下问题:我必须在我的应用程序中执行网络操作,因此执行时间有以下限制:Android 有没有办法在安卓系统上安装一个后台服务,在准确的时间执行网络操作,而不被安卓系统杀死?,android,networking,service,background,Android,Networking,Service,Background,我有以下问题:我必须在我的应用程序中执行网络操作,因此执行时间有以下限制: 我必须在预先确定的时间(+/-5s)执行网络操作 网络操作必须大约每30秒进行一次(间隔取决于网络上的负载,并在运行时确定) 应始终执行这些操作。如果他们失败了,就不应该重新开始 然后,我尝试按如下方式解决问题: 有一个(后台)服务执行网络操作,然后结束 报警是在AlarmManager的帮助下设置的,它可以在准确的时间点启动服务(setExactAndAllowHileId()) 但是,出现了以下问题: 智能
- 我必须在预先确定的时间(+/-5s)执行网络操作
- 网络操作必须大约每30秒进行一次(间隔取决于网络上的负载,并在运行时确定)
- 应始终执行这些操作。如果他们失败了,就不应该重新开始
- 有一个(后台)服务执行网络操作,然后结束
- 报警是在AlarmManager的帮助下设置的,它可以在准确的时间点启动服务(
)setExactAndAllowHileId()
- 智能手机进入打瞌睡模式后,我会收到以下错误消息:
W/ActivityManager:Background start not allowed:service Intent{flg=0x4 cmp=com.swp.hydra/.services.RPCService(has extra)}到com.swp.hydra/.services.RPCService from pid=-1 uid=10109 pkg=com.swp.hydra
- 有没有办法在安卓系统上安装一个后台服务,在准确的时间执行网络操作,而不被安卓系统杀死
- 如果没有,我的选择是什么
- 该应用程序是为Android 8.0+开发的
- 上述限制不是可变的,必须实施
ScheduledExecutorService
)。但是,您的进程最终将被操作系统或用户终止。而这种方法,即使你能让它工作起来,也会对电池造成不利影响,这就是为什么安卓和设备制造商会与你作对的原因。看看Workmanager,看看--“有没有办法在安卓上安装一个后台服务,在准确的时间执行网络操作,而不被安卓扼杀?””“不一般。欢迎您使用前台服务和一些进程内定时选项(例如,ScheduledExecutorService
)。但是,您的进程最终将被操作系统或用户终止。而这种方法,即使你能让它工作起来,也会对电池有害,这就是为什么安卓和设备制造商会反对你。