Android 在何处初始化GPS,使其停留时间超过活动时间

Android 在何处初始化GPS,使其停留时间超过活动时间,android,gps,Android,Gps,我正在编写一个应用程序,它必须每X秒向服务器发送一次GPS位置,我想知道运行它的正确位置是否在应用程序类中,因为即使您更改了活动,它也必须不断发送消息 现在我在活动内部初始化,然后让一个不同的线程使用计时器将最新位置发送到后端 我说得对吗?我这样问主要是因为我有抱怨说GPS有时会卡住,但当他们启动另一个带有GPS的应用程序时,它又开始在我的程序中工作了 [编辑:该应用程序适用于将在Galaxy选项卡中单独使用该应用程序的公司] 感谢一个简单的方法:创建一个服务并注册它以收听LocationMan

我正在编写一个应用程序,它必须每X秒向服务器发送一次GPS位置,我想知道运行它的正确位置是否在应用程序类中,因为即使您更改了活动,它也必须不断发送消息

现在我在活动内部初始化,然后让一个不同的线程使用计时器将最新位置发送到后端

我说得对吗?我这样问主要是因为我有抱怨说GPS有时会卡住,但当他们启动另一个带有GPS的应用程序时,它又开始在我的程序中工作了

[编辑:该应用程序适用于将在Galaxy选项卡中单独使用该应用程序的公司]


感谢

一个简单的方法:创建一个服务并注册它以收听LocationManager更新。若你们想在手机进入睡眠状态时发送数据,那个么看看唤醒锁

然而,这将使用GPS和网络,并将耗尽电池。人们不喜欢这样的应用程序——我知道我不会使用它

要使事情更方便用户,请执行以下操作:

  • 使用被动定位提供程序。当其他应用程序使用Gps时,这会泄漏位置数据。只有在长时间得不到数据时才直接使用Gps
  • 缓存位置数据。当其他应用程序也更新数据时,向同步管理器注册以更新数据。使用DownloadManager上传数据文件:DM是智能的,即使设备重新启动,它也会在出错时自动重试。如果文件很大,则将其设置为仅通过wifi上传
  • 我强烈推荐观看Reto Meier的Android Protips视频