2016-11-26 53 views
0

我在清單中註冊我的廣播接收器。 我想知道什麼時候廣播接收機可以取消註冊的系統或任務殺手(一些附帶系統)當廣播接收器可能未註冊

在舊的Android版本,似乎如果你強制停止應用程序,它的廣播接收器將不會再打電話。我在Android 6或7上測試了這個接收器,並且調用了接收器(你強制關閉應用程序,一分鐘你沒有接到任何電話,但之後似乎你的應用程序又恢復了生命)

在小米手機上如果AutoStart未啓用,您的廣播接收機將不會被呼叫。

是否還有其他我應該知道的情況?如果是,那麼這個問題的解決方案是什麼?

感謝

回答

0

使用unregisterReceiver(廣播接收器接收器)在您的onPause()來註銷廣播接收機。對於服務:從清單文件中刪除接收器標籤。然後,您可以在onCreate()中使用相同的方法註冊您的Broadcast接收器,並在onDestroy()中取消註冊。

+0

重點是保持我的接收器註冊。我爲什麼要取消註冊我的接收器? :) – user1611597

1

你可以使用unRegister(你的broadcastreceiver)中的onDestroy()覆蓋方法。 因此,當您的應用程序被銷燬時,它將取消註冊。對於您的問題,爲什麼取消註冊廣播接收器是因爲如果您沒有註銷它,那麼它將導致內存泄漏。因此更好的代碼實踐是取消註冊接收器。

相關問題