2016-11-26 7 views
0

私は自分のブロードキャストレシーバーをマニフェストに登録します。 ブロードキャストレシーバーがシステムまたはタスクキラーによって登録解除される可能性があることを知りたい場合があります(一部はシステムに付属)ブロードキャストレシーバーの登録を解除できるとき

古いAndroidバージョンでは、もっと長く呼ばれる。私はAndroid 6または7でこれをテストし、受信者が呼び出されます(アプリケーションを強制終了すると、何も電話がかかっていないのにアプリケーションが再び有効になるようです)

Xiaomiの電話機AutoStartが有効になっていないと、ブロードキャストレシーバが呼び出されません。

知っておくべき他のケースはありますか?はいの場合、この問題の解決策は何ですか?放送受信機の登録を解除する

おかげで、あなたのonPauseで

答えて

0

使用unregisterReceiver(BroadcastReceiver受信機)()。サービスの場合:マニフェストファイルから受信者タグを削除します。その後、onCreate()と同じメソッドで放送受信機を登録し、onDestroy()で登録解除することができます。

+0

ポイントはレシーバを登録したままにすることです。なぜレシーバの登録を解除する必要がありますか? :) – user1611597

1

onDestroy()オーバーライド方法でunRegister(あなたのブロードキャスト受信者)を使用することができます。 あなたのアプリが破棄されたときに登録解除されます。あなたの質問では、なぜ登録を解除しなかったのかが放送受信機の登録を解除するのです。その場合、メモリ漏洩が発生します。

関連する問題