2016-11-26 44 views
0

我有一个Android应用程序,使用一个持续约2天的倒数计时器。即使用户启用省电模式或重新启动手机,避免Android应用程序管理器终止我的倒数计时器的最佳方法是什么? (很抱歉,如果这是一个毫无意义的问题来回答,对于我是新的Android开发的原因。)Android:粘滞与前景服务vs替代

+0

你知道选项是什么吗?你有尝试过什么吗? – CallumDA

+1

@ CallumDA33,我尝试过前台服务,但是一开始设备重新启动就死机了。 –

+0

http://stackoverflow.com/questions/6391902/how-to-start-an-application-on-startup,请注意,如果你想要一个前台服务,你必须有一个通知。 http://stackoverflow.com/questions/10962418/how-to-startforeground-without-showing-notification –

回答

0

什么是为了避免我的倒计时器从即使在Android应用程序管理器被杀害的最佳方法用户启用省电模式还是重新启动手机?

这是不可能的。而且,这非常浪费(占用系统RAM,花费CPU时间)。如果您想在将来某个时间获得控制权,请使用AlarmManager(例如,setAlarmClock())上的方法。如果你想知道现在和将来的特定时间之间剩下多少时间,找出当前时间(例如,System.currentTimeMillis()),并从未来时间中减去以计算时间差。要处理重新启动,您需要再次设置AlarmManager,方法是使用设置为的BroadcastReceiver

+0

非常感谢,我需要创建一个数据库来保存当前时间和未来的时间,以便它可以在访问后访问重启是因为我在查看数据库时遇到了很多问题 –

+0

@ K.Milli:您不需要保存当前时间,因为系统始终可以使用当前时间。如果希望在重新启动后存在该数据,则需要将未来时间保存在任何解决方案的持久性存储中。 – CommonsWare

+0

对不起,希望这是最后一个问题 - 您是否可以获得有关如何合并Alarm Manager和BroadcastReceiver更新我的GUI的资源?因为我需要显示日期,时间,分钟和秒钟 –