我们可以随意禁用/启用前台调度。 onresume / onpause将帮助我们启用和禁用活动重新聚焦和聚焦时。
是否可以启用然后禁用前台调度。
甚至试图使用 IntentFilter writeTagFilters2 [] = new IntentFilter [] {}; adapter.enableForegroundDispatch(this,pendingIntent,writeTagFilters2,null);没有任何反应意图
但是它出错了
只有在恢复活动时才能启用前台调度。
答案 0 :(得分:2)
我相信您应该使用disableForegroundDispatch(Activity)
来删除回调注册。
来自enableForegroundDispatch
的文档:
此方法必须从主线程调用,并且仅在 活动在前台(恢复)。此外,活动必须打电话 disableForegroundDispatch(Activity)在完成之前 onPause()回调以禁用前台调度 启用。
因此,如果activity lifecycle中的onResume()
和onPause()
回调之间存在启用和停用呼叫,您可以随时拨打电话。
关于您的错误,该代码必须在resume / pause事件之外。它是否在你的onCreate()
方法中?