当程序在前台运行时,它可以正常工作。只有当某些其他应用程序在前台运行,并且我的程序在后台运行时,onlocationchanged才会停止调用。
这不会立即发生,但在将应用程序切换到后台后仍然相对较快。说,在几秒钟内,可能长达几分钟。
现在当onlocationchanged函数停止被调用时,当持有onlocationchanged代码的应用程序切换回前台时,将再次调用它。
我唯一的代码是oncreate方法和onlocationchanged方法。其他方法如onresume,onpause,onproviderdisabled,onproviderenabled只包含一行记录调用的行。当onlocationchanged函数停止被调用时,不会调用这些函数。
这是我用来创建locationmanager对象的代码:
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this);