1

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

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

我在活动中使用了广播接收器并像这样设置了意图过滤器

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()?

如何克服这个?

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

谢谢

4

2 回答 2

1

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

于 2013-08-14T06:50:17.317 回答
0

创建服务并从中注册一个 BroadcastReceiver。活动在用户关闭时被销毁,您需要在它之后保持接收器注册 - 唯一注册此类接收器而不是从清单中的方法是服务

于 2013-08-14T07:04:20.927 回答