Android 何时删除位置更新以防止在活动之间切换时出现延迟

Android 何时删除位置更新以防止在活动之间切换时出现延迟,android,gps,location,xamarin.android,Android,Gps,Location,Xamarin.android,这是关于活动生命周期与位置更新的问题。根据我的阅读,我应该在OnResume中注册位置更新,并在活动的OnPause中删除位置更新。但是,我的应用程序实时显示您当前的速度(位置更新设置为1秒和0米),并有几个活动-主屏幕、一些列表、设置屏幕等 若我使用OnPause或OnStop删除位置更新,使用OnResume重新获取位置更新,用户只需转到另一个屏幕,然后返回主页,那个么在接收数据时会出现明显的延迟,并且无法显示速度。是否有任何方法可以区分用户在我的应用程序中进入另一个活动和离开应用程序-以删

这是关于活动生命周期与位置更新的问题。根据我的阅读,我应该在OnResume中注册位置更新,并在活动的OnPause中删除位置更新。但是,我的应用程序实时显示您当前的速度(位置更新设置为1秒和0米),并有几个活动-主屏幕、一些列表、设置屏幕等

若我使用OnPause或OnStop删除位置更新,使用OnResume重新获取位置更新,用户只需转到另一个屏幕,然后返回主页,那个么在接收数据时会出现明显的延迟,并且无法显示速度。是否有任何方法可以区分用户在我的应用程序中进入另一个活动和离开应用程序-以删除位置更新


我知道OnUserLeaveHint事件,但在这里运气不好-当用户只需进入设置屏幕并返回时,它也会被触发。

为什么不在后台服务中获取位置更新?你可以在应用程序启动时启动服务,在关闭应用程序时结束服务。实际上,我是在服务中这样做的。但用户应该有禁用后台模式的选项-所以我需要知道何时启用和禁用位置更新。所以问题还是一样的,我只是想保持简单。如何在android中确定“何时关闭应用程序?”谢谢Dage,我知道这种方法,但它不能解决延迟问题-如果我在OnPause中删除位置更新,并在一秒钟后请求它们返回,在它再次上线之前会有几秒钟的延迟。我正在考虑在OnPause中启动线程,它将休眠3秒,然后检查是否有其他活动同时启动OnResume-d,如果没有,则删除位置更新。但这似乎很快,nastyI不确定你是否能对延迟做些什么,位置更新需要一段时间才能开始。GPS重新启动非常慢,网络定位可能会更快,如果您还没有这样做,您应该尝试将其设置为网络更新,看看延迟是否仍然那么大。我可能完全错了。。