在我的应用程序中,我需要根据用户的喜好每5s或10s或1分钟刷新一次数据。
我可以创建线程并使用计时器类但我想知道还有其他方法吗?例如,系统的计时器发送标志(广播的东西),我在应用程序中获取它(为了刷新我的数据)?
由于
答案 0 :(得分:1)
AlarmManager正是您要找的。它可用于设置通过PendingIntent(可以转换为Intent广播)传送的定期事件。
除非设备始终连接到电源,否则我会谨慎检查这种定期间隔的新数据,尤其是在您通过网络进行检查时。随着小的轮询间隔进入纽约,电池将在几个小时内持平。
答案 1 :(得分:1)
如果要在每个serval秒刷新数据,可以设置Hanlder来执行此操作。但是,这需要您的活动继续运行。
如果您想在特定时间执行某些操作,例如闹钟。您可以使用AlarmManager。即使它现在没有运行,这也会使您的活动或其他组件失效。
如果您只想监视系统时间的变化。好吧,有一个意图ACTION_TIME_TICK。你可以注册一个BroadcastReceiver来持久化它,并在systemt brocast它时实现你自己的代码。但是,“TICK”间隔仅为“一分钟”,无法更改。