我有一个服务,每天将监视位置改变。 我知道,到目前为止,这是什么来在开机启动一个服务 ,我也要跟着链接教程。 这样我可以得到最好的服务在启动系统,但为了节省电池,我需要它只有9之间AM-9PM。
问题是非常简单的,所以我会重复:
如何确保服务是在上午9点开始,每天晚上9点停止?
我有一个服务,每天将监视位置改变。 我知道,到目前为止,这是什么来在开机启动一个服务 ,我也要跟着链接教程。 这样我可以得到最好的服务在启动系统,但为了节省电池,我需要它只有9之间AM-9PM。
问题是非常简单的,所以我会重复:
如何确保服务是在上午9点开始,每天晚上9点停止?
使用AlarmManager
设置两个报警器,每一个PendingIntent
,将调用startService()
你的服务,但不同的操作字符串(“开始”,“停止”)。 当onStart()
服务的检测“停止”的行动Intent
,它安排有序关闭(例如, stopSelf()
如果用户应用任务管理器到你的Android 2.1或更早版本,因为他们倾向于使用会耗尽你的报警(除了查杀服务)技术,这将失败。 在这种情况下,用户可能被投票为您服务,不运行,所以你应该尽量满足用户的愿望。
CommonsWare是正确的。 这是最好的方式。 你正在编写一个应用程序,你最好不要去改变什么了应用。 如果你想添加一个系统服务(在开机启动的服务),您需要修改BSP,并添加您服务systemserver.java。 这不是recommended.CommonsWare的建议可以做这项工作。 至于你说的有关活动,您可以在收到启动广播开始activicy。 然后做什么你想.....