求助: APP 在后台还能执行逻辑,发送数据吗

79 天前
 Jed2020

背景介绍:我们 APP ( react-native 写的)的用户是某船舶公司船员,需要上传各种轮船信息,然后海上的信号大家也都知道。

现在有个需求:如果上传失败,能够在网络恢复的时候自动上传。

老板的意思最好能做到网络恢复就发送,不管这个时候 APP 在前台后台,手机锁没锁屏

让我调研下,并给出上传失败的解决方案。

我的方案是做数据缓存,下次打开的时候提示他上次失败了,点击继续发送。老板让我去沉淀沉淀,研究下后台上传数据的方案,说他已经在网上看到相关解决方案了...

老哥们,有方案吗教教我

3818 次点击
所在节点    程序员
52 条回复
anjingdexiaocai
79 天前
android 的话,只有前台服务可以解决,至于电池优化,自启动开启,这些用户不一定买账。
gaobh
79 天前
不能用电脑吗哈哈,右下角最小化挂个程序就行了
AkaGhost
79 天前
这个让我想起了 WakeUp 课程表有个上课提醒功能,简单设置一下提醒就满准确的,就是会请求一个 "闹钟和提醒" 的权限。

权限描述如下:

允许设置闹钟和提醒

允许该应用设置闹钟以及安排在特定时间执行某些操作。此权限开启后,该应用将在后台运行,可能会消耗更多电量。

若关闭此权限,该应用设置的现有闹钟将不会响起,安排在特定时间执行的现有活动也不会执行。
champaulmmc
79 天前
安卓很简单,后台权限全开,后台一直播放无声背景音乐就行,会一直保活。IOS 费劲,需要一直定位或者看快捷指令,检测到网络就执行 APP 步骤,IOS17 可以默认执行不需要权限
jingrui
79 天前
Expo BackgroundFetch
试试这个吧
skyyan
78 天前
你先解决保活问题再说吧
hstdt
78 天前
参考长途货运 app 的司机端实现方案,iOS 用 location manager 触发上传
auhah
78 天前
android 吗?直接发送前台通知不就保活了么
HangoX
78 天前
@champaulmmc iOS 不是也可以放歌吗?放歌可以后台
HangoX
78 天前
@Jed2020 https://firebase.google.com/docs/database?hl=zh-cn firebase 的 realtime database ,自己会处理同步事件,因为被谷歌收购了,有 google play 的手机会非常容易处理同步的事情,同步会由 gp service 执行
meteora0tkvo
78 天前
可以参考流氓软件的做法,申请一个浮窗,颜色透明,大小为 1 像素
realpg
78 天前
既然是必备服务,那么直接发送失败出个浮窗提示失败等待网络恢复就好了,也不用透明,毕竟这是工作用的,有浮窗很正常吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/1091491

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX