2011-04-25 52 views
2

我要继续监听,即使我的应用程序销毁(或关闭)位置更新,我一定要运行这个服务?除了described here以外,连续位置更新的最佳做法是什么。安卓:继续收听位置更新

+0

那么,你可能想要做,结果什么东西?当位置发生变化时,你想要做什么?将它存储在某个地方?开始一个意图? – EboMike 2011-04-25 22:46:35

+0

可能使用http文章将其发送到服务器。 – Jimmy 2011-04-25 22:49:46

+0

然后你需要一个服务,你需要一个WAKE_LOCK。我应该提到,这将是一个巨大的电池消耗。 – EboMike 2011-04-25 23:02:50

回答

3

如果您的应用程序由OS破坏,那么它不会做任何事情。 活动服务可以根据需要既可以由OS死亡。此外,除非你要求WAKE_LOCK你不会,如果手机进入睡眠要么得到更新。

话虽如此,是的,你想要创建一个Service实施locationListener并适当回应onLocationChanged()。这样,应用程序仍然会在后台收到更新。如果应用程序没有通过广播运行 公共无效addProximityAlert(双纬,双经度,浮动范围,长时间的使用期限,的PendingIntent意图)

意图将甚至被解雇:

0

是使用的服务是您的应用程序被破坏后,持续监控位置的唯一安全的方法。将位置信息保存到SQLite数据库或平面文件以便读取位置信息可能是有益的,因为绑定到服务可能需要一些时间。

2

更妙的是你可以用这个。通过广播启动一个serviceintent来运行你的代码。该服务完成后将会死亡。