Android设备会在一段时间后停止发送位置

时间:2017-04-13 17:10:27

标签: android location android-geofence

我正在尝试学习Android中的位置服务,我正在做一个Android项目应用程序,在该应用程序中,我在离开家后定期向用户发送用户的位置。每当用户离开家时,应用程序中的代码就会开始跟踪用户。我还有一个代码,我在其中设置了围绕用户家的地理围栏,当它被触发时,将优先级从BALANCED更改为HIGH_ACCURACY并减少向服务器发送位置的间隔。也。 代码如下所示:我有一个locationWatcher类,我在其中初始化我的意图:

 final Intent locationIntent = new Intent(context, LocationReceiver.class);
 mLocationIntent = PendingIntent.getBroadcast(
                    context, 111 /*requestCode*/, locationIntent, PendingIntent.FLAG_UPDATE_CURRENT);

final Intent geoFenceIntent = new Intent(context, LocationReceiver.class);
geoFenceIntent.putExtra(EXTRA_GEO_FENCE, true);
mGeoFenceIntent = PendingIntent.getBroadcast(
                    context, 113/*requestCode*/, geoFenceIntent, PendingIntent.FLAG_UPDATE_CURRENT);

然后,只要我获得位置更改或地理围栏旅行,我的位置接收器类就会唤醒并启动LocationService并将意图传递给它,以便我可以将该位置发送到服务器。

此代码工作正常,但在某些情况下,设备会在一段时间后停止发送位置。在少数情况下,我无法弄清楚为什么会发生这种情况。我需要继续发送位置,直到用户返回他的家。之后我的应用程序将停止向服务器发送位置。

我在我的应用程序中拥有所有必需的权限,我在Nougat和Marshmallow上都尝试了这两种权限,并且都显示了同样的问题。

提前致谢

0 个答案:

没有答案