teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

説明の補足

2019/09/07 01:27

投稿

kakajika
kakajika

スコア3133

answer CHANGED
@@ -1,3 +1,3 @@
1
1
  BroadcastReceiverのonReceiveメソッドは、registerReceiverで登録した直後に呼ばれることは保証されていないと思います。ご提示のコードではregisterReceiverの直後にunregisterReceiverを実行していますから、onReceiveが呼ばれる前に登録が解除されているのでしょう。
2
2
 
3
- onReceiveが呼ばれるのを待ってから、目的の処理やunregisterReceiverを実行するようにしてみてください。また、その際はメモリリークを防ぐためにunregisterReceiverを適切なタイミングで呼ぶようにしてください。
3
+ onReceiveが呼ばれるのを待ってから、目的の処理やunregisterReceiverを実行するようにしてみてください。また、その際はメモリリークを防ぐためにunregisterReceiverを適切なタイミングで呼ぶのを忘れないようにしてください。