我想每 1 分钟将我的位置发送到服务器,即使是 android 后台的应用程序?

Posted

技术标签:

【中文标题】我想每 1 分钟将我的位置发送到服务器,即使是 android 后台的应用程序?【英文标题】:I want to send my location to the server each 1 minute even the app in the background in android? 【发布时间】:2020-11-11 23:18:03 【问题描述】:

即使是后台的应用程序(android),每 1 分钟调用一次方法的最佳做法是什么, 我正在使用 Handler(Looper.getMainLooper()) 在前台执行此操作,但我需要在后台调用方法,甚至是应用程序

private fun runScheduleMethods() 
    mainHandler.post(object : Runnable 
        override fun run() 
            viewModel.loadCurrentLocation(locationRequest)
            mainHandler.postDelayed(this, 1000 * 60)
        
    )

【问题讨论】:

【参考方案1】:

使用带有通知的前台服务(因为如果通知处于活动状态,那么 android OS 将不会杀死它)

这里是博客 祝你好运..!

https://medium.com/@ramkumarv3/foreground-service-with-notification-channel-ac6697c8a6d1

【讨论】:

以上是关于我想每 1 分钟将我的位置发送到服务器,即使是 android 后台的应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在后台模式下获取当前位置并在后台模式下继续将该位置发送到服务器

即使在打盹模式下也每 15 秒获取一次位置

当应用程序处于后台并且网络连接丢失时,位置更新计时器不起作用?

如何快速将我的应用程序中的位置发送到其他应用程序?

如果车辆不移动,每 5 分钟更新一次 Android 位置

即使应用程序关闭,也每 5 分钟向服务器发送纬度和经度