我的任务是在每次更改日期时(每隔12点)触发一次刷新或重置应用程序的方法。我试图在网上搜索答案,但我找不到任何东西。我可以使用android中的任何方法/或监听器吗?或任何方法? 有什么建议吗?
答案 0 :(得分:3)
是的,您可以在Android上收听日期/时间更改。为此,请在您的活动中明确注册以下意图过滤器BroadcastReceiver:
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);
答案 1 :(得分:0)
你必须在每个确定的时间间隔检查背景中的系统时间&如果您所需的时间(凌晨12:00)与系统时间匹配,那么请执行您必须执行的操作。对于此任务,您必须使用异步任务或警报管理器。如果我没有错,那么这将是您的解决方案问题希望这能帮到你。