Android日期会自动更改

时间:2013-08-14 06:47:20

标签: android

我知道这个问题已经在这里被问了几次,我也搜索了它们但是没有找到任何最终解决方案。

如何在日期更改时调用活动中的方法?

我在活动中使用了广播接收器,并设置了像这样的intentfilter

intentFilter.addAction("android.intent.action.DATE_CHANGED");

这个东西只有在我手动更改日期时才有效,但必须像在自动更改日期时调用方法一样。

我也用过

intentFilter.addAction("android.intent.action.TIME_TICK");

这个可以完美地工作但是因为这是时间滴答,它发生在每一分钟,它给出了泄露的窗口错误说

Activity com.example.testandroid.MainActivity has leaked IntentReceiver com.example.testandroid.MainActivity$1@4177ffe0 that was originally registered here. Are you missing a call to unregisterReceiver()?

如何克服这个?

任何建议 或好的建议 或者总是欢迎好的代码

感谢

2 个答案:

答案 0 :(得分:1)

如果您正在注册从活动/片段/服务中的代码注册的BroadcastReceiver(在onCreate / onResume中),您必须从代码中取消注册它(在onDestroy中/ onPause)。

答案 1 :(得分:0)

创建服务并从中注册BroadcastReceiver。用户关闭活动时会破坏活动,并且您需要在接收器后注册接收器 - 只有这样才能注册这样的接收器而不是来自清单服务