APP业务场景:
1、APP的用户是司机,需要操作单子,运输中的单子,有‘’去导航‘’功能(打开三方导航app,如高德)
2、司机点了去导航之后,APP切到后台运行后,定时轮询(uni.getlocation)会在一段时间后不执行,无法上报位置信息(安卓端)
官方文档:
持续定位方案:Android如果进程被杀,代码无法执行。可以使用 unipush,通过服务器激活App,执行透传消息,让App启动然后采集位置。Android上,即使自己写原生插件做后台进程,也很容易被杀,unipush是更合适的方案
实际情况:
APP切到后台,推送的是厂商离线消息模式,看推送流程里,是不支持透传消息,需要用户去点击消息,激活APP。
在实际业务中,不可能让司机去点击消息唤起APP,然后上传定位
插件市场:
有一些定位、保活类的插件,目前试了几个,存在手机兼容性问题,高耗电提示
这个场景应该如何去实现?(困扰了快2个星期了,解决不了)
3 个回复
BoredApe - 有问题就会有答案。
如果用户自己杀掉进程。那就没办法了。 能做的就是后台持续定位和保活功能。
iOS
可以直接配置后台持续定位。Android
本身是不支持后台模式的。或者说Android
切换到后台是可以运行的。只是当前应用在系统后台的优先级比较低,当系统资源不足或者是省电模式时会自动回收后台应用。建议Android
平台可以搜索uni原生插件中的保活插件来实现北方云景 (作者) - 工业互联云平台
如果能解决的,可以走商务洽谈
BigHornet
你好问下,贵司的功能后面实现了吗