在日期更改监听器

我的任务是每次更改日期(每隔12点)触发一个刷新或重置我的应用程序的方法。 我试图在网上搜索答案,但我找不到任何东西。 我可以使用android中的任何方法/或监听器吗? 或任何方法? 有什么建议吗?

是的,您可以在Android上收听日期/时间更改。 为此,请在Activity中明确注册BroadcastReceiver以获取以下intentfilter:

android.intent.action.ACTION_TIME_TICK 

此意图每分钟发送一次。 您无法通过清单中声明的​​组件接收此信息,但只能通过使用Context.registerReceiver()显式注册它。

您的Receiver(内部)课程:

 private final MyDateChangeReceiver mDateReceiver = new MyDateChangeReceiver(); public class MyDateChangeReceiver extends BroadcastReceiver{ @Override public void onReceive(final Context context, Intent intent) { // compare current time and decide if it's 12 AM Log.d("MyDateChangeReceiver", "Time changed"); } } 

在onResume方法中注册它:

 registerReceiver(mDateReceiver, new IntentFilter(Intent.ACTION_TIME_TICK)); 

并且不要忘记在onPause方法中取消注册:

 unregisterReceiver(mDateReceiver); 

你必须在每个确定的时间间隔检查后台的系统时间,如果你想要的时间(上午12点)与系统时间匹配,那么做你需要做的事情。对于这个任务,你必须使用异步任务或报警管理器如果我没有错,那么这将是你的问题的解决方案,希望这对你有所帮助。