Android应用程序和计时器

时间:2009-06-29 11:44:04

标签: android timer android-1.5-cupcake

您好我有一个运行服务的Android应用程序。从该服务和其他系统(such as GPS)开始20分钟后,我希望它自动停止。我想我需要使用Timer吗?

有人可以展示我如何做到这一点的例子吗?

2 个答案:

答案 0 :(得分:2)

也许你甚至不需要计时器。只需在成员变量中存储[System.currentTimeMillis()](http://developer.android.com/reference/java/lang/System.html#currentTimeMillis(),并在达到超时时[stopSelf](http://developer.android.com/reference/android/app/Service.html#stopSelf()您的服务,即可跟踪服务的启动时间。

例如,在服务的繁忙部分中包含以下内容:

if(System.currentTimeMillis() - TIMEOUT > startTime) {
    stopSelf();
}

答案 1 :(得分:1)

我会使用AlarmManager。设置单次触发警报,在20分钟内完成。在收到闹钟的独立BroadcastReceiver中,请致电stopService()

我有一个blog post和一些涵盖AlarmManager的{​​{3}},但它们都涵盖了“cron场景”,您希望在启动时获得控制权并设置重复警报。