0

我想每 1 分钟跟踪一次用户位置并将用户位置存储在数据库中。如果用户位置在 30 分钟内没有改变,那么我必须向用户发出通知,并且如果用户没有在特定时间关闭应用程序。例如:晚上 8 点,然后我还必须通知用户

跟踪应该在单独的线程中,以便应用程序可以在进行位置跟踪时执行其他任务。

我完全被困在这个问题上,我怎样才能为三件事制作单独的线程:

  1. 用于位置跟踪

  2. 30分钟提醒通知

  3. 晚上 8 点提醒

如果向用户显示通知并且位置发生变化,则应删除通知并正常进行跟踪

4

3 回答 3

1

我认为没有必要为此使用线程。位置策略页面上的 Android 文档定义了如何获取位置更新,倒数计时器可用于计时。

于 2013-06-19T12:17:36.483 回答
0

You need to use Service for this, and in service you can implement the location listener with with one minute interval, and for battery optimization you should you Google Location API. And you also use the Activity recognition for finding out the user movement.

于 2013-06-19T12:25:53.617 回答
0

如果您每分钟检查一次位置,您的电池寿命将会很糟糕。

无论如何,所有这些任务都可以通过使用AlarmManager来完成。您将为下一个事件设置时间,当它发生时,您的代码将运行,即使您的活动在后台。我不确定您所说的“晚上 8 点关闭应用程序”是什么意思,应用程序不需要可见就可以发生这些事情。

于 2013-06-19T12:15:48.897 回答