在app中反复执行功能

时间:2014-05-09 08:28:23

标签: android

我创建了一个Android应用程序,现在需要每6分钟上传纬度和经度。这需要在登录后开始,在关闭应用程序或退出时结束,并在手机进入空闲模式或访问其他应用程序时保持运行。

Google建议使用以下选项;

  1. 创建服务并在其中加入计时器任务。
  2. 使用闹钟管理器。
  3. 这两个选项中哪一个更好?还有其他选择吗?

2 个答案:

答案 0 :(得分:1)

首先,你肯定需要一个ServiceActivity s不能被依赖,因为一旦暂停,(例如访问了另一个应用),绝对不能保证即使onDestroy()被调用也不会被中止。

AlarmManager是触发您需要的6分钟轮询的最可靠方式,因为即使手机长时间睡眠也会执行此操作。使用它来触发您的服务(可能在6分钟的间歇期间停止)。这是我所知道的唯一最可靠的选择。

如果TimerTaskService或流程已结束,

Activity将无效。

答案 1 :(得分:0)

你必须创建一个主活动,在其中调用ui线程上的locationmanager,它会让你在你的位置改变lat-long并在注销时删除所有位置管理器的更新