如果应用程序被用户杀死,Android Geofences会被删除吗?

问题描述:

问题在标题中。 如果应用程序被用户杀死,新的Android Geofences会被删除吗?如果应用程序被用户杀死,Android Geofences会被删除吗?

我正在使用新的Android Geofences(在Google IO 2013发布)。如果用户使用Android任务管理器删除/杀死应用程序,那么应用程序的地理栅栏将被删除,我无法完全解决。我认为与旧的addProximityAlert技术他们没有被删除。

+2

为什么投票下来?文档没有给出任何关于如果应用程序被杀的情况。 Geofences由Google Play服务管理,因此我无法判断一个正在被杀死的应用是否会将其Geofences刷新。 – Tim

+1

过去几次发布的现行通用规则是,从设置菜单中强制杀死的应用程序不能再次运行,直到通过明确的用户交互再次启动,因此允许地理围栏再次启动似乎是一个重大偏差从现有的哲学。看起来好像不太难测试。 –

+0

谢谢克里斯。这似乎是明智的。我会在稍后测试。我想做一个真正的世界测试(而不是模拟位置),这意味着有点走路和重新检查logcat。 – Tim

我相信这个答案是否定的。如果用户杀死应用程序,应用程序崩溃或应用程序被任务管理器终止,则注册的Geofence不会被删除。我知道你注册了一个带有NEVER_EXPIRE标志的Geofence,即使应用程序被卸载,Geofence注册也会保留。

我的理解是注册的地理栅栏必须达到期限或被注销才能在不重新启动电话的情况下被移除。

+0

谢谢 @ Darkcylde我会很快将此标记为答案,除非有人反对。 – Tim

+0

干杯。感谢那。 – Darkcylde

+0

我不同意 - 这是没有记录在任何地方,这只是一个猜测 - 请不要传播猜测作为对SO的答案。 –

从我的测试来看,情况并非如此。卸载应用程序时它们会被删除。

谷歌真的需要一个API来让你获得所有注册的栅栏......这会让事情变得更好。

+1

我卸载了我的应用程序,我的地理围栏未被注册。重启是唯一对我有效的事情。 –

+2

@BenL你检查你的geofences怎么没有注册?没有办法检查这个! –

所申报here

应用程序必须重新注册地理围栏,如果他们出现下列情况之后仍然需要,因为系统无法恢复的地理围栏在下列情况下:

The device is rebooted. The app should listen for the device's boot complete action, and then re- register the geofences required. 
The app is uninstalled and re-installed. 
The app's data is cleared. 
Google Play services data is cleared. 
The app has received a GEOFENCE_NOT_AVAILABLE alert. This typically happens after NLP (Android's Network Location Provider) is disabled.