是系统持久化还是我必须在重启后再次添加它们?我在https://developer.android.com/training/location/geofencing.html
的文档中没有找到任何相关信息答案 0 :(得分:17)
Geofences在重启时不会持续存在。我已经过测试,你可以找到样本here。
您必须听取 BOOT_COMPLETED 操作并再次添加地理围栏。
注意:如果您的应用安装在外部存储(SD卡)上,您将永远不会收到启动完成操作。因此,您必须在android:installLocation="internalOnly"
中指定manifest tag
。
这是因为,在设置外部存储设备之前,Android设备将广播BOOT_COMPLETED操作。
答案 1 :(得分:4)
我没有找到任何证明这一点的文件,但我自己的实验表明它们不会在重新启动后持续存在。
我的设置如下:
如果有人向Google的某些人提供有关此内容的更多信息,请发表评论!
答案 2 :(得分:-1)
您想要保留哪些数据?是您的设备中的地理围栏区域还是Google Play服务位置API存储的地理围栏区域?
我相信设备需要将一个区域(由其纬度,经度和半径定义)注册到Google Play服务(通过LocationClient)。您还需要提供到期时间,要通知的转换类型以及将通知您的意图。
此区域将(远程)存储在您的应用程序中。当它过期时,Google Play服务会自动将其删除。您也可以将其设置为NEVER_EXPIRE。 如果该地区尚未过期,Google Play服务会通知您的应用(通过调用addGeofences时发送的意图)。
区域的来源(纬度,长度,半径)取决于您的实施。