Π§ΡΠΎ ΡΠ°ΠΊΠΎΠ΅ receiver android
ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Broadcast Receiver Π½Π° Π½Π°Π³Π»ΡΠ΄Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅
Broadcast Receivers β ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Android. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠΏΡΡΠ°Π΅ΠΌΡΡ Π½Π°Π³Π»ΡΠ΄Π½Π΅Π΅ ΠΎΠ±ΡΡΡΠ½ΠΈΡΡ Β«ΡΡΠΎ ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ ΠΈ Ρ ΡΠ΅ΠΌ Π΅Π³ΠΎ Π΅Π΄ΡΡΒ», Π½Π°ΠΏΠΈΡΠ°Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ Wi-Fi ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡΠ΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎ Π»ΡΠ±ΡΡ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ .
Π‘ ΡΠ΅ΠΌ, ΡΡΠΎ ΡΠ°ΠΊΠΎΠ΅ Broadcast receivers, ΠΈ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΡ ΡΠΆΠ΅ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΠ»ΠΈΡΡ Π² Π΄ΡΡΠ³ΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Π΅. Π Π΄Π°Π½Π½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅ΠΌ ΠΊ Π΄Π°Π½Π½ΠΎΠΌΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΏΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠΎΡΠΊΠΈ Π·ΡΠ΅Π½ΠΈΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡΡ Π·Π° ΡΠ°Π±ΠΎΡΡ.
ΠΠ½Π°ΡΠ°Π»Π΅ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² AndroidManifest.xml. ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΡΠ²ΠΈΡΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Broadcast receiver Π΄Π»Ρ ΡΠ»Π΅ΠΆΠ΅Π½ΠΈΡ Π·Π° ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ΠΌ Wi-Fi ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΠΈ Π΄Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΡΠ°Π²Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ ΡΡΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Activity ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΠΏΠΈΡΠ΅ΠΌ, Π½ΠΎ Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΠ½ Π½Π΅ Π±ΡΠ΄Π΅Ρ ΠΈΠΌΠ΅ΡΡ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ. Π§ΡΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π² AndroidManifest.xml:
Π ΡΠ΅Π»ΠΎΠΌ ΠΎΡΠ½ΠΎΠ²Π½Π°Ρ ΡΠ°ΡΡΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΄Π΅Π»Π°Π½Π°. ΠΠ°ΠΆΠ΅ Π±Π΅Π· Π·Π°ΠΏΡΡΠΊΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½ΡΠΆΠ½ΡΠΉ Π½Π°ΠΌ Broadcast receiver Π±ΡΠ΄Π΅Ρ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅, ΠΈ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ/Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Wi-Fi ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΠ΅:
Π’Π΅ΠΏΠ΅ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΆΠ΅ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΡ ΡΠ΄Π΅Π»Π°Π»ΠΈ. ΠΠΎΡ ΡΠ°ΠΊ Π·Π°Π΄Π°Π΅ΡΡΡ Broadcast receiver Π² Β«ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅Β» (AndroidManifest.xml):
ΠΠ°ΠΆΠ΄ΠΎΠΌΡ ΠΈΠ· Broadcast receivers Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΡΠ²ΠΎΡ ΠΈΠΌΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ android:name=Β».WiFiStatusReceiverΒ»). Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ ΠΈΠΌΡ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΠΏΠΎΡΡΡΠΏΠΈΠ²ΡΠΈΠ΅ Intents ΠΎΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Broadcast receiver.
Π ΡΠ΅Π³Π°Ρ Π·Π°Π΄Π°ΡΡΡΡ ΡΠΈΠ»ΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ±ΡΡΠΈΠΉ. ΠΡΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΠ°ΠΌ, ΡΠΎ Π΅ΡΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΠΌ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅Π³Π°ΠΌΠΈ, Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ ΠΊΠ»Π°ΡΡ-ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ.
ΠΠ΅ΡΠ΅ΠΉΠ΄Π΅ΠΌ ΠΊ ΠΊΠ»Π°ΡΡΡ WiFiStatusReceiver.java. ΠΡΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ ΠΊΠ»Π°ΡΡΡ java Π½ΡΠΆΠ½ΠΎ ΠΎΡ ΠΊΠ»Π°ΡΡΠ° BroadcastReceiver. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ WiFiManager Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠ΅ΠΊΡΡΠ΅Π΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Wi-Fi ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΠΌ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΠ°ΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π·Π° Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½Π½ΡΠΉ Wi-Fi. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ, ΡΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Toast-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ (Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ»ΡΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΡΠ΅ Π½Π°Π΄ΠΏΠΈΡΠΈ).
ΠΠΎΡ ΠΌΡ ΠΈ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½Π°Π³Π»ΡΠ΄Π½ΡΠΉ ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π±ΠΎΡΡ Broadcast receivers. Π‘ΠΎΡ ΡΠ°Π½ΡΠ΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΠΌ Π΅Π³ΠΎ Π½Π° Android-ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΌΡΠ»ΡΡΠΎΡ ΠΈ ΡΠ°Π΄ΡΠ΅ΠΌΡΡ ΠΏΡΠΎΠ΄Π΅Π»Π°Π½Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅.
Broadcast (Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ)
Π Android ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΠΈΠ΅ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ. ΠΠ±Π° ΠΏΡΠΎΡΠ΅ΡΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΎΠ±ΠΎΠΉ Π½Π΅ ΡΠ²ΡΠ·Π°Π½Ρ ΠΈ ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΏΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΠ»Ρ Π½Π°ΡΠ°Π»Π° Π½Π°ΡΡΠΈΠΌΡΡ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΡΡΠΎΠΊΠΎΠ² ΠΌΡ ΡΡΠΈΠ»ΠΈΡΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Π΄ΡΡΠ³ΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Intent. ΠΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠ΅ Π½Π΅ ΠΊΠ°ΠΊΠΎΠΌΡ-ΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, Π° Π²ΡΠ΅ΠΌ. Π Π»ΡΠ±Π°Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°, ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½Π½Π°Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΌ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΎΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠΉΠΌΠ°ΡΡ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΡΡ ΡΠ²ΠΎΠΈ ΡΠ°Π³ΠΈ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ.
ΠΡΠ±ΠΎΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΠΊ, ΠΈΠΌΠ΅ΡΡΠΈΠΉ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°Π΄ΠΈΠΎΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ ΡΡΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΡΡΡΠΏΠ°ΡΡ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ½ΠΈ ΠΎΠ±Π·Π°Π²ΠΎΠ΄ΡΡΡΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ ΠΈ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΡΠΈΠΏ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠ°ΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΠ°, Π° ΡΠ°ΠΊΠΆΠ΅ Π²Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈ ΡΡΠΆΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π²Π΅ΡΡΠΌΠ° ΠΏΡΠΎΡΡΠ° Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ. Π Π²Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ. Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ ΠΏΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΏΠΎΠ»Ρ action, data ΠΈ category (Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΡ) Π²Π°ΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΡΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°ΠΌ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠΎΡΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡ «ΡΠ²ΠΎΡ» ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π ΡΡΠΎΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΈ ΡΡΡΠΎΠΊΠ° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ACTION Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ, ΡΡΠΎΠ±Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΡΡΡΠΎΠΊΡ-ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΏΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Java. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΡΠ° Π² Π±ΠΎΠ»ΡΡΠΎΠΌ Π·Π΄Π°Π½ΠΈΠΈ:
ΠΠ°Π»Π΅Π΅ Π²Ρ ΡΠΎΠ·Π΄Π°ΡΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡ Intent, Π·Π°Π³ΡΡΠΆΠ°Π΅ΡΠ΅ Π² Π½Π΅Π³ΠΎ Π½ΡΠΆΠ½ΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΈ Π²ΡΠ·ΡΠ²Π°Π΅ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄ sendBroadcast(), ΠΏΠ΅ΡΠ΅Π΄Π°Π² Π΅ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Intent. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π² extras ΠΊΠ°ΠΊ Π½Π΅ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ.
ΠΠΈΡΡΡΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΠΊΠΎΡΠ°:
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ (ΠΈΠΌΡ ΠΊΠΎΡΠ° ΠΈ Π΅Π³ΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ), ΠΎΡΠΏΡΠ°Π²ΠΈΠ»ΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ΅ Ρ ΠΊΠ°ΡΡΠ°ΠΌΠΈ, ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΊΠΎΡΠ° Π½Π° ΠΊΠ°ΡΡΠ΅.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠ΄Ρ sendStickyBroadcast() ΠΈ sendOrderedBroadcast().
ΠΠ»Ρ ΡΡΠ°ΡΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΡΡΠΎΠ³ΠΎ Π±ΡΠ»ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ, Π½ΠΎ Π½Π°ΡΠΈΠ½Π°Ρ Ρ Android 3.0, Π² ΡΠ΅Π»ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡΡΡ ΠΎΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ Π½Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π»ΠΈΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠ»Π°Π³, ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠΈΠΉ Π·Π°ΠΏΡΡΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ.
ΠΡ Π½Π°ΠΏΠΈΡΠ΅ΠΌ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈ ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ Π΄Π»Ρ Π΅Π³ΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ. Π ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ΅ ΠΌΡ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π²ΠΎ Π²ΡΠΎΡΠΎΠΉ ΡΠ°ΡΡΠΈ ΡΡΠΎΠΊΠ°. Π ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΏΠ΅ΡΠ²ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎ Π½ΡΠΌ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΊΠ½ΠΎΠΏΠΊΡ Ρ Π½Π°Π΄ΠΏΠΈΡΡΡ «ΠΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅». ΠΡΠΈΡΠ²ΠΎΠΉΡΠ΅ Π°ΡΡΠΈΠ±ΡΡΡ onClick Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΡΡΠΈΠ² ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ ΠΈ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π’ΠΎΠ»ΡΠΊΠΎ Π²Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΡΠΉΠ΄ΡΡ Π² Π½ΠΈΠΊΡΠ΄Π°, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½ΠΈ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΎ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΎΠΌ Π΄Π»Ρ Π½Π΅Π³ΠΎ. ΠΡΠΏΡΠ°Π²ΠΈΠΌ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΈ ΡΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ Π² ΡΠ²ΠΎΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. ΠΡ Π±ΡΠ΄Π΅ΠΌ ΡΠ°ΠΌΠΈ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠ²ΠΎΠΈ ΠΆΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΡΠΌΠ½ΠΈΠΊ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΎΠ±ΡΡΠ½ΡΠΉ Java-ΠΊΠ»Π°ΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ BroadcastReceiver. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π²ΡΡΡΠ½ΡΡ ΠΊΠ»Π°ΡΡ ΠΈ Π½Π°ΠΏΠΎΠ»Π½ΠΈΡΡ Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ. Π Π°Π½ΡΡΠ΅ ΡΠ°ΠΊ ΠΈ ΠΏΠΎΡΡΡΠΏΠ°Π»ΠΈ. ΠΠΎ Π² ΡΡΡΠ΄ΠΈΠΈ Π΅ΡΡΡ Π³ΠΎΡΠΎΠ²ΡΠΉ ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ.
Π©ΡΠ»ΠΊΠ°Π΅ΠΌ ΠΏΡΠ°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡΡΠΈ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈ Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌ New | Other | Broadcast Receiver
Π Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π·Π°Π΄Π°ΡΠΌ ΠΈΠΌΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
Π‘ΡΡΠ΄ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² Π΄Π²ΡΡ ΠΌΠ΅ΡΡΠ°Ρ . ΠΠΎ-ΠΏΠ΅ΡΠ²ΡΡ , Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΊΠ»Π°ΡΡ MessageReceiver:
ΠΠΎ-Π²ΡΠΎΡΡΡ , Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ Π±Π»ΠΎΠΊ.
Π Π½Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΠΈΠ»ΡΡΡ, ΠΏΠΎ ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ Π±ΡΠ΄Π΅Ρ Π»ΠΎΠ²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΠ΅ΡΠ½ΡΠΌΡΡ Π² ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ° ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΡΠ΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ onReceive().
Π‘Π½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈ Π΅ΡΡ ΡΠ°Π· ΠΎΡΠΏΡΠ°Π²ΠΈΠΌ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π’Π°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΎ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡΠΈΠΊΠΎΠΌ, Π½ΠΎ ΠΈ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΎΠΌ, ΡΠΎ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ Π΅Π³ΠΎ Π½Π°ΠΌ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΎΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ΄Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΡΡΠ»Π°Π»ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π° Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π»ΠΎ.
ΠΡΠΈΡΠΌΠ½ΠΈΠΊΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ
ΠΠΎΡ ΠΏΠ»Π°Π²Π½ΠΎ ΠΌΡ ΠΏΠ΅ΡΠ΅ΡΠ»ΠΈ ΠΊ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°ΠΌ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΠ° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ Π²Π°ΠΌ Π½Π΅ ΡΠ°ΠΊ ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠ΄ΡΡΡΡ ΡΠ°ΡΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π³ΠΎΡΠ°Π·Π΄ΠΎ ΡΠ°ΡΠ΅ Π²ΡΡΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ, ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΠ°ΠΊΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ:
ΠΡΠΈΡΠΌΠ½ΠΈΠΊ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ, ΠΌΠΎΠΆΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, ΠΊΠΎΠ³Π΄Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π°ΠΊΡΠΈΠ²Π½Π°. ΠΠ°Π·Π°Π»ΠΎΡΡ, ΡΡΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠΎΠΌ ΠΈ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄. ΠΠΎ Π²ΡΡ Π½Π΅ ΡΠ°ΠΊ ΠΏΡΠΎΡΡΠΎ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ, ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. Π Π² ΡΡΠΎΠΌ Π΅ΡΡΡ ΡΠ²ΠΎΠΉ ΡΠ΅Π·ΠΎΠ½. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ, Π΅ΠΌΡ Π½Π΅Ρ ΡΠΌΡΡΠ»Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ Π·Π°ΡΡΠ΄Π΅ Π±Π°ΡΠ°ΡΠ΅ΠΈ. ΠΠ½Π°ΡΠ΅ Π·Π°ΡΡΠ΄ Π±Π°ΡΠ°ΡΠ΅ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡ ΠΎΠ΄ΠΎΠ²Π°ΡΡΡΡ Π΅ΡΡ Π±ΡΡΡΡΠ΅Π΅ ΠΏΡΠΈ Π»ΠΈΡΠ½Π΅ΠΉ Π±Π΅ΡΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅. ΠΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π·Π°ΡΡΠ΄Π΅ Π±Π°ΡΠ°ΡΠ΅ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° Π² ΡΡΠΎΠΌ Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΡΠ²Π΅ΡΡΡΡΡΡ Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅ΠΉ, ΠΊΠ°ΠΊΠΎΠΉ Π²ΠΈΠ΄ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ.
ΠΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ° ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΊΠΆΠ΅ ΡΠ½ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ, ΠΊΠΎΠ³Π΄Π° Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ΄Π°Π΅ΠΌΡΡ Π² Π½ΡΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° unregisterBroadcastReceiver().
ΠΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΌΠΈΠ½ΡΡΡ
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ° ΠΊΠ°ΠΆΠ΄ΡΡ ΠΌΠΈΠ½ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ android.intent.action.TIME_TICK. ΠΡΠΈΡΠΌΠ½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. ΠΠΎΠ±Π°Π²ΠΈΠΌ Π½Π° ΡΠΊΡΠ°Π½ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π΄Π²Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΎΡΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ Π²ΡΡΡΠ½ΡΡ Π½ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ TimeBroadcastReceiver, Π½Π°ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΠΎΡ BroadcastReceiver:
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ° ΠΈ ΡΠ΅ΡΠ΅Π· ΡΠ°Π±Π»ΠΎΠ½, ΠΊΠ°ΠΊ ΠΌΡ ΡΡΠΎ ΡΠ΄Π΅Π»Π°Π»ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅. ΠΠΎ Π² ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΡΠ΄Π°Π»ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΡ ΠΎ Π½ΡΠΌ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°ΠΌ ΠΎΠ½ Π½Π΅ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ. ΠΠΎ Π΅ΡΠ»ΠΈ Π²Ρ Π·Π°Π±ΡΠ΄Π΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ, ΡΠΎ Π½ΠΈΡΠ΅Π³ΠΎ ΡΡΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ°ΠΌ Π½Π΅ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ ΡΠΈΠ»ΡΡΡΡ.
ΠΡΠΊΡΠΎΠ΅ΠΌ ΠΊΠΎΠ΄ Π³Π»Π°Π²Π½ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠ΅ΠΌ (Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ½ΠΈΠΌΠ΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ) ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ:
ΠΠ°ΠΏΡΡΠΊΠ°Π΅ΠΌ ΠΏΡΠΎΠ΅ΠΊΡ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° ΠΏΠ΅ΡΠ²ΡΡ ΠΊΠ½ΠΎΠΏΠΊΡ, ΡΡΠΎΠ±Ρ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ°ΡΡΡΠ»ΠΊΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠ°ΠΆΠ΄ΡΡ ΠΌΠΈΠ½ΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π·Π°ΠΏΡΡΠΊ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ Π²ΡΠ΅ΠΌΠ΅Π½Π΅ΠΌ. ΠΠ°ΠΆΠ΅ Π΅ΡΠ»ΠΈ Π²Ρ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΠ΅ΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΡΠΎ Π²ΡΡ ΡΠ°Π²Π½ΠΎ Π±ΡΠ΄Π΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ.
ΠΡΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. Π― Π²ΠΈΠ΄Π΅Π» ΡΠ°ΡΡΠΎ Π½Π° ΡΠΎΡΡΠΌΠ°Ρ Π²ΠΎΠΏΡΠΎΡΡ, ΠΏΠΎΡΠ΅ΠΌΡ Π½Π΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π°Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ android.intent.action.TIME_TICK. Π Π½Π΅ Π½Π°Π΄ΠΎ Π±ΡΠ»ΠΎ Π΅Π³ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅.
Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π»ΠΈ ΠΈ ΡΠ½ΠΈΠΌΠ°Π»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠ΅ΡΠ΅Π· Π½Π°ΠΆΠ°ΡΠΈΡ ΠΊΠ½ΠΎΠΏΠΎΠΊ. ΠΠ±ΡΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ onResume(), Π° ΡΠ½ΠΈΠΌΠ°ΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ onPause().
ΠΠ΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΡ, ΡΡΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½Π°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΠ»ΡΠΆΠΈΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ, Π΅ΡΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π² BroadcastReceiver Π·Π°Π½ΠΈΠΌΠ°ΡΡ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΠ°ΠΊ Π²Π°ΡΠΈΠ°Π½Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ. ΠΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π½Π° ΡΡΡ ΡΠ΅ΠΌΡ ΡΡΠ°ΡΡΡ (en).
TIME_TICK Π½Π° Kotlin
ΠΠ°ΠΏΠΈΡΠ΅ΠΌ ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Kotlin. Π Π°Π·ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ TextView, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π²ΡΠ΅ΠΌΡ. ΠΠΎΠ΄ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ Π½ΠΈΠΆΠ΅. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΌΡ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΠΌ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ BroadcastReceiver, Π²ΠΊΠ»ΡΡΠ°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² onResume() ΠΈ ΡΠ½ΠΈΠΌΠ°Π΅ΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π² onPause().
ΠΠ²ΡΠΎΡΡΠ°ΡΡ Activity ΠΈΠ»ΠΈ Service ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ (ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠ΅) Π΄Π΅Π²Π°ΠΉΡΠ°
ΠΡΡ ΠΎΠ΄ΠΈΠ½ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ.
ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (ΡΠ΅ΡΠ²ΠΈΡ) Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, ΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ android.intent.action.BOOT_COMPLETED:
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. Π’Π°ΠΊΠΆΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅.
Π‘Π»Π΅Π΄ΠΈΠΌ Π·Π° ΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΌ
ΠΠ΅Ρ, ΡΠ΅ΡΡ ΠΏΠΎΠΉΠ΄ΡΡ Π½Π΅ ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎΠΌ ΠΏΠΈΡΠ°Π½ΠΈΠΈ ΠΊΠΎΡΠ°. ΠΠΌΠ΅Π΅ΡΡΡ Π² Π²ΠΈΠ΄Ρ ΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡ ΡΠ»Π΅ΠΊΡΡΠΈΡΠ΅ΡΡΠ²Π°. ΠΡΠ»ΠΈ Π²Π°ΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΠΎΡ Π·Π°ΡΡΠ΄ΠΊΠΈ, ΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠΏΠΎΠ²Π΅ΡΠ°Π΅Ρ ΠΎΠ± ΡΡΠΎΠΌ ΡΠΎΠ±ΡΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ android.intent.action.ACTION_POWER_DISCONNECTED.
ΠΠ΅ ΡΡΠ°Π½Π΅ΠΌ Π·Π°Π²ΠΎΠ΄ΠΈΡΡ Π½ΠΎΠ²ΡΠΉ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ, Π° ΠΎΡΠΊΡΠΎΠ΅ΠΌ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΈΠ»ΡΡΡ ΠΊ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΎΡ ΡΠ°Π΄ΠΈΡΡΠΊΠΈ ΠΡΡ.
Π Π² ΠΊΠ»Π°ΡΡΠ΅ MessageReceiver Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΌΠ΅ΡΠΎΠ΄Π°.
ΠΡΠΈΠΌΠ΅Ρ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π½Π° ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅. ΠΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΊ ΠΏΠΈΡΠ°Π½ΠΈΡ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΡΠ΄Π΅ΡΠ½ΠΈΡΠ΅ ΠΊΠ°Π±Π΅Π»Ρ. ΠΠ° ΡΠΊΡΠ°Π½Π΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΡΠΈ Π·Π°Π±Π°Π²Π½ΡΠ΅ BroadcastReceiver’Ρ
ΠΠ΅Π±ΠΎΠ»ΡΡΠΎΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΠΎΠΌ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ BroadcastReceiver ‘ΠΎΠ² ΠΏΡΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ΅ΡΠ΅Π· AndroidManifest.xml ΠΈ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅. ΠΠ°Π½Π½Π°Ρ Π·Π°ΠΌΠ΅ΡΠΊΠ° Π½Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎΠΌ Π΄Π»Ρ Π½ΠΎΠ²ΠΈΡΠΊΠΎΠ², Π° Π²ΡΠ΅Π³ΠΎ Π»ΠΈΡΡ ΠΏΡΠΈΠ·Π²Π°Π½Π° ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΡΠ΅ΠΌ, ΠΊΠΎΠΌΡ Π΅ΡΠ΅ Π½Π΅ Π΄ΠΎΠ²Π΅Π»ΠΎΡΡ Π½Π°ΡΡΡΠΏΠΈΡΡ Π½Π° ΠΏΠΎΡ
ΠΎΠΆΠΈΠ΅ Π³ΡΠ°Π±Π»ΠΈ.
Π’Π°ΠΊ ΡΠΆ Π²ΡΡΠ»ΠΎ, Π²ΠΎΠ»Π΅Ρ project manager ΡΡΠ΄ΡΠ±Ρ, Π΄ΠΎΠ²Π΅Π»ΠΎΡΡ ΠΌΠ½Π΅ ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, Π±Π»ΠΎΠΊΠΈΡΡΡΡΡΡ Π²ΡΠ΅ ΠΈ Π²ΡΡ Π²ΠΎ Π±Π»Π°Π³ΠΎ Π±Π΅Π·Π·Π°ΡΠΈΡΠ½ΡΡ
Π΄Π΅ΡΠΎΠΊ. ΠΡΡΠ°Π²ΠΈΠΌ Π² ΡΡΠΎΡΠΎΠ½Π΅ ΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π²ΠΎΠΏΡΠΎΡΠ° ΠΈ ΠΏΡΠΈΡ
ΠΈΡΠ΅ΡΠΊΡΡ Π°Π΄Π΅ΠΊΠ²Π°ΡΠ½ΠΎΡΡΡ ΡΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π²ΡΠΊΠΈΠ΄ΡΠ²Π°ΡΡ ΡΠΎΡΠ½ΠΈ ΡΡΠΈ-ΡΠ΅ΡΡΡΠ΅ Π΅Π²ΡΠΎ Π½Π° ΡΠΌΠ°ΡΡΡΠΎΠ½ Π΄Π»Ρ Π΄ΠΈΡΡΡΠΈ, Π° ΠΏΠΎΡΠΎΠΌ Ρ Π·Π°Π²ΠΈΠ΄Π½ΡΠΌ ΡΠΏΠΎΡΡΡΠ²ΠΎΠΌ ΠΈΡΡΡ ΡΠΎΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠ΅Π²ΡΠ°ΡΠΈΡ ΡΡΠΎ Π²ΡΡΠΎΠΊΠΎΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π² ΠΊΠΈΡΠΏΠΈΡ Π΄Π΅ΡΡΡΠΈΠ»Π΅ΡΠ½Π΅ΠΉ Π΄Π°Π²Π½ΠΎΡΡΠΈ: Π±Π΅Π· ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°, Π±Π΅Π· ΡΠΌΡ, Π±Π΅Π· Π·Π²ΠΎΠ½ΠΊΠΎΠ², Π±Π΅Π· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉβ¦ Π±Π΅Π· Π½Π°Π΄Π΅ΠΆΠ΄Ρ Π½Π° Π±ΡΠ΄ΡΡΠ΅Π΅. ΠΠΎΠΏΡΡΠΊΠ° Π·Π°ΠΌΠ΅Π½ΠΈΡΡ Π²ΠΎΡΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠ°Π»ΡΠ½ΡΠΌ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅ΠΌ β Π²Π΅ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π²ΡΡΠ°ΡΡΠΈΡΡ Π±Π΅Π·Π²ΠΎΠ»ΡΠ½ΠΎΠ³ΠΎ ΠΈΠΌΠ±Π΅ΡΠΈΠ»Π°, Π½ΠΎ ΡΡΠΊΡΠ° Π·Π΄Π΅ΡΡ Π½Π΅ ΡΠ΅ΡΠ°ΡΠ΅Π»Ρ, ΡΡΠΊΡΠ° ΠΊΠΎΠ΄ΠΎ-ΠΏΠΈΡΠ°ΡΠ΅Π»Ρ, ΡΠ°ΠΊ ΡΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠΈΡΡΡΡ Π½Π° ΡΠ΅Ρ
Π½ΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΡΠΎΡΠΎΠ½Π΅ Π΄Π΅Π»Π°.
AndroidManifest.xml
Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΈΠΌ ΠΊΠ»Π°ΡΡΡ Π²ΡΠ³Π»ΡΠ΄ΡΡ Π½Π΅ Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅Π΅ ΠΈ Π² ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌΡ ΡΠ°Π±Π»ΠΎΠ½Ρ:
ΠΠ°Ρ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΡΠ΅Ρ Ρ
ΡΠΎΠ½ΠΎΠ»ΠΎΠ³ΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²Π΅ΡΡΠΈ Π»ΠΎΠ³ Π½Π°ΡΡΡΠΏΠ»Π΅Π½ΠΈΡ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠΎΠ±ΡΡΠΈΠΉ.
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π½Π° Π»ΠΈΡΠΎ Π² LogCat:
Application | Tag | Text |
com.habr | MyActivity | onCreate |
ΠΈ ΠΏΡΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²ΠΊΠ»/Π²ΡΠΊΠ» ΡΠΎΠΎΡΠ²Π΅ΡΡΠ²ΡΡΡΠ΅ΠΉ ΠΎΠΏΡΠΈΠΈ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΠΊ ΠΏΡΠΈΠΌΠ΅ΡΡ:
Application | Tag | Text |
com.habr | WiFiReceiver | onReceive |
ΠΡΠ΅ Π΄ΠΎΠ²ΠΎΠ»ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·ΡΠ΅ΠΌΠΎ.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ.
Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΎΠ΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎΡ Π½Π΅Ρ ΠΈΡΡΡΠΉ ΡΡΡΠΊ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Bluetooth.
ΠΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ Π·Π°ΠΏΡΡΠΊΠ°ΠΌ ΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ Π² Π³ΠΎΠ»ΠΎΠ²Π΅ ΡΠΆΠ΅ Π½Π°Π²Π΅ΡΠ½ΡΠΊΠ° Π½Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΡΠ°Π· ΠΏΡΠΎΠ½Π΅ΡΠ»Π°ΡΡ ΠΌΡΡΠ»Ρ Β«Π·Π°ΡΠ΅ΠΌ, ΡΠ°ΠΊΠΈ, ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ Π½Π°ΠΌ Π΄ΠΎΠΊΡΠΎΡΠ° ΠΈ ΠΊΠΎΠ³ΠΎ ΠΎΠ½ Π·Π΄Π΅ΡΡ Π²ΠΎΠΎΠ±ΡΠ΅ Π»Π΅ΡΠΈΡ?Β», Π½ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΡΠΉΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠΎΡ ΠΆΠ΅ ΠΊΠΎΠ΄, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² action Π½Π° WifiManager.WIFI_STATE_CHANGED_ACTION ΠΈΠ»ΠΈ ConnectivityManager.CONNECTIVITY_ACTION ΠΈ ΡΡΡ, ΠΏΡΠΈΠ²Π΅Ρ ΡΠ΅Π±ΡΡΠ°ΠΌ ΠΈΠ· Π°Π½Π΄ΡΠΎΠΈΠ΄, Π²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΡΠ΅, ΡΡΠΎ LogCat ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
Application | Tag | Text |
com.habr | MyActivity | onCreate |
com.habr | WiFiReceiver | onReceive |
com.habr | DataReceiver | onReceive |
Π€Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ onReceive ΠΎΠ±ΠΎΠΈΡ receiver‘ΠΎΠ² Π²ΡΠ·Π²Π°Π»ΡΡ ΡΡΠ°Π·Ρ, Π²ΠΎΠΎΠ±ΡΠ΅ Π²Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ ΠΎΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ ΠΎΠΏΡΠΈΠΉ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Bluetooth ΠΏΠΎΠ²Π΅Π» ΡΠ΅Π±Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ.
ΠΡΠ²ΠΎΠ΄
ΠΡΠ΅ Π²ΡΡΠ΅ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π²ΡΠ΅Ρ Π²Π΅ΡΡΠΈΡΡ Android, Π½Π°ΡΠΈΠ½Π°Ρ Ρ Gingerbread ΠΈ Π²ΡΡΠ΅(Π½ΠΈΠΆΠ΅ ΠΏΡΠΎΡΡΠΎ Π½Π΅ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π»).
Π§ΡΠΎ ΠΊΠ°ΡΠ°Π΅ΡΡΡ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΡΠΈΠ»ΡΡΡΠ°ΡΠΈΠΈ Π·Π²ΠΎΠ½ΠΊΠΎΠ², ΡΠΌΡ, ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° ΠΈ Ρ.Π΄., ΡΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ ΠΎΡΠΈΠ±Π°ΡΡΡ, ΡΠ΅ΠΌΠ° ΡΠΆΠ΅ ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡΠ²Π΅ΡΠ°Π»Π°ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π΄Π΅ΡΡ. ΠΠΎ, Π΅ΡΠ»ΠΈ ΡΡΠΎ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎ, ΡΠΎ Ρ ΠΌΠΎΠ³ Π±Ρ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²Π½Π΅ΡΡΠΈ ΡΠ²ΠΎΡ Π»Π΅ΠΏΡΡ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ Π½ΠΈΠΊΠΎΠ³ΠΎ Π½Π΅ Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°ΡΡ.
Broadcast (Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ)
ΠΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ°ΡΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π΅Π»Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΎΡΠΊΡΡΡΡΠΌ; ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΡΠΎΠ±ΡΡΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Π²Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΠ΅Π°Π³ΠΈΡΡΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π²Π°ΡΠ΅ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»ΡΠ½ΠΎΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. Π ΡΠ²ΠΎΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄ΡΡΠ³ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π·Π°ΠΌΠ΅Π½ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ»ΡΡΡΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ (ΠΈΠ»ΠΈ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ ΡΠΎΠ±ΡΡΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.
ΠΡ ΡΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΡΠΏΡΠ°Π²ΠΊΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π° Π΄ΡΡΠ³ΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΠ±Π·Π°Π²Π΅ΡΡΠΈΡΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ Π΄Π»Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π°ΡΠΈΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΡΠΈΡΠΌΠ½ΠΈΠΊ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ β ΡΡΠΎ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈ ΡΠ΅Π°ΠΊΡΠΈΠΈ Π½Π° Π½ΠΈΡ . ΠΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΌΠΎΠ³ΡΡ:
Π¨ΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΡ Π½Π° Π΄Π²Π΅ Π³ΡΡΠΏΠΏΡ:
ΠΠ»Π°ΡΡ BroadcastReceiver ΡΠ²Π»ΡΠ΅ΡΡΡ Π±Π°Π·ΠΎΠ²ΡΠΌ Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠ»Π°Π΅ΠΌΡΡ ΠΊΠ»ΠΈΠ΅Π½ΡΡΠΊΠΈΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΠ·ΠΎΠ²Π° ΠΌΠ΅ΡΠΎΠ΄Π° sendBroadcast().
ΠΠ°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° BroadcastReceiver ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ΄Π΅ ΠΈΠ»ΠΈ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅.
ΠΠ»Ρ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΉ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ Π² ΡΠ°ΠΉΠ»Π΅ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π² ΡΠ΅ΠΊΡΠΈΠΈ application ΡΠ»Π΅Π΄ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΠΊΡΠΈΡ receiver ΠΈ ΡΠΊΠ°Π·Π°ΡΡ ΠΊΠ»Π°ΡΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°. ΠΡΡΠΈΠ±ΡΡ android:exported=»true» ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ, ΡΡΠΎ ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²Π½Π΅ ΠΎΠ±Π»Π°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ½ΡΡΡΠΈ ΡΠ΅ΠΊΡΠΈΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠ»ΡΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ, ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΎΡΠ»ΡΡΠΈΠ²Π°ΡΡ.
ΠΡΠ»ΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ Π±ΡΠ»Π° ΡΠ΄Π΅Π»Π°Π½Π° ΡΠ΅ΡΠ΅Π· ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΎΠ±ΡΠ·Π°Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°ΡΡ, ΡΡΠΎΠ±Ρ Π²Π°Ρ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ ΡΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°Π» Π½Π° ΡΡΠ°Π½ΡΠ»ΡΡΠΈΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π½ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΎ. Π‘ΠΈΡΡΠ΅ΠΌΠ° ΡΠ°ΠΌΠ° ΡΠΊΠ°Π½ΠΈΡΡΠ΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π²ΡΠ΅Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π΄Π΅Π»Π°Π΅Ρ Π·Π° Π½Π°Ρ Π²ΡΡ ΡΠ°Π±ΠΎΡΡ. ΠΡΠΎ Ρ ΠΎΡΠΎΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ ΡΠ΅ΡΡΡΡΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠΏΠΎΡΠΎΠ±Π½ΡΠ΅ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ Π½Π° ΡΠΎΠ±ΡΡΠΈΡ Π΄Π°ΠΆΠ΅ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ.
ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Context.registerReceiver().
ΠΠ΅ΡΠ΅Π΄ ΡΡΠΈΠΌ ΡΠΎΠ·Π΄Π°ΡΡΡΡ ΠΊΠ»Π°ΡΡ, ΡΠ°ΡΡΠΈΡΡΡΡΠΈΠΉ Π±Π°Π·ΠΎΠ²ΡΠΉ ΠΊΠ»Π°ΡΡ BroadcastReceiver ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° onReceive() ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ.
ΠΠ΅ΡΠΎΠ΄ onReceive() Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, Π΅ΡΠ»ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΡΠΈΠ»ΡΡΡΡ. ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°ΠΌΠΈ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Π±ΡΠ΄ΡΡ Π·Π°ΠΏΡΡΠ΅Π½Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ΅ΡΠΎΠ΄ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ Π·Π°Π²Π΅ΡΡΡΠ½ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠΈ ΡΠ΅ΠΊΡΠ½Π΄, ΠΈΠ½Π°ΡΠ΅ ΠΏΠΎΡΠ²ΠΈΡΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ Π·Π°ΠΊΡΡΡΠΈΠΈ.
ΠΠΎΠ³Π΄Π° ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΈΠ±ΡΠ²Π°Π΅Ρ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, Android Π²ΡΠ·ΡΠ²Π°Π΅Ρ Π΅Π³ΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ onReceive() ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π² Π½Π΅Π³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡ Intent, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΈΡΠΌΠ½ΠΈΠΊ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π°. ΠΡΠΎΡΠ΅ΡΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ BroadcastReceiver, Ρ. Π΅. Π²ΡΠΏΠΎΠ»Π½ΡΡΡΠΈΠΉΡΡ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ ΠΊΠΎΠ΄ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° onReceive(), ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΠ°, ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΠ½, ΠΊΡΠΎΠΌΠ΅ ΡΠ»ΡΡΠ°Π΅Π² ΠΊΡΠΈΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΊΠ° ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠ΅.
ΠΠΎΠ³Π΄Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅ΡΡΡ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° onReceive(), ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ, ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ° ΠΎΠ±ΡΠ΅ΠΊΡΠ° BroadcastReceiver Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π°. ΠΡΠΎΡΠ΅ΡΡ Ρ Π°ΠΊΡΠΈΠ²Π½ΡΠΌ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΌ Π·Π°ΡΠΈΡΡΠ½ ΠΎΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ. ΠΠ΄Π½Π°ΠΊΠΎ ΠΏΡΠΎΡΠ΅ΡΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠΉ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ, ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠ°ΠΌΡΡΡ, ΠΊΠΎΡΠΎΡΡΡ ΠΎΠ½ ΠΏΠΎΡΡΠ΅Π±Π»ΡΠ΅Ρ, Π±ΡΠ΄Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌ.
ΠΡΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΡΠ²Π΅Ρ Π½Π° ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ Π΄Π»ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ. ΠΡΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ onReceive() ΠΏΠΎΡΠΎΠΆΠ΄Π°Π΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΠΎΡΠΎΠΊ, Π° Π·Π°ΡΠ΅ΠΌ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅, ΡΠΎ ΠΏΠΎΠ»Π½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈ ΠΏΠΎΡΠΎΠΆΠ΄ΡΠ½Π½ΡΠΉ ΠΏΠΎΡΠΎΠΊ, ΡΠΈΡΡΠ΅ΠΌΠ° Android ΡΡΠΈΡΠ°Π΅Ρ Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΡΠΌ (Π΅ΡΠ»ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ Π°ΠΊΡΠΈΠ²Π½Ρ Π² ΠΏΡΠΎΡΠ΅ΡΡΠ΅), ΠΈ ΡΡΠΈΡΠ°Π΅Ρ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°ΡΠΎΠΌ Π½Π° ΡΠ½ΠΈΡΡΠΎΠΆΠ΅Π½ΠΈΠ΅.
Π ΡΠ°ΡΡΠ½ΠΎΡΡΠΈ, Π²Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΈΠ»ΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ ΡΠΎ ΡΠ»ΡΠΆΠ±ΠΎΠΉ Π²Π½ΡΡΡΠΈ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° BroadcastReceiver. ΠΠ»Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»ΡΡΠ°Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΌΠ΅ΡΡΠΎ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΠΊΠ»Π°ΡΡΠ° NotificationManager. ΠΠΎ Π²ΡΠΎΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° Context.startService(), ΡΡΠΎΠ±Ρ ΠΏΠΎΡΠ»Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° ΡΠ»ΡΠΆΠ±Ρ.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ ΡΡΠΎΠΉ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ onReceive() ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠ»ΡΠΆΠ±Ρ Π²ΠΌΠ΅ΡΡΠ΅ Ρ BroadcastReceiver ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΡΠ»ΡΠΆΠ±Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π·Π°Π΄Π°Π½ΠΈΠ΅, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π°ΠΊΡΠΈΠ²Π½ΡΠΌ Π² ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π²ΡΠ΅Π³ΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π²Π°ΡΠ΅ΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ.
Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ Π½Π΅ ΡΠ΅ΡΠ΅Π· ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. ΠΡΠΈΡΠΌΠ½ΠΈΠΊ, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ, Π±ΡΠ΄Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°ΡΡ Π½Π° ΠΏΠΎΡΡΡΠΏΠ°ΡΡΠΈΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π΅ΡΠ»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠΌΡ ΠΎΠ½ ΠΏΡΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ.
ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΌ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π²Π½ΡΡΡΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ, Π·Π°ΠΏΡΡΠΊΠ° ΡΠ»ΡΠΆΠ± ΠΈΠ»ΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· NotificationManager. Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΎΡΠΌΠ΅Π½ΡΡΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ°, Π΅ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Π½Π΅ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΡΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈΠ»ΠΈ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² Π½Π΅Π°ΠΊΡΠΈΠ²Π½ΠΎΠΌ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ.
Π ΠΊΠΎΠ΄Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ ΠΏΡΠΈΠ±Π»ΠΈΠ·ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠ°ΠΊΠΎΠΉ ΠΊΠΎΠ΄ (ΠΎΠ±ΡΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ onResume()):
ΠΠ»Ρ ΠΎΡΠΌΠ΅Π½Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ unregisterReceiver() Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ Π΅ΠΌΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠ° (ΠΎΠ±ΡΡΠ½ΠΎ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ onPause()):
ΠΠ»Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ° BroadcastReceiver Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π²ΠΈΠ΄Π΅ΡΡ ΠΈΠ»ΠΈ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°ΡΡ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ startActivity(). ΠΠ½Π°Π»ΠΎΠ³ΠΈΡΠ½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π²Ρ ΠΏΠ΅ΡΠ΅Π΄Π°Π»ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ Π·Π°ΠΏΡΡΠΊΠ° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· ΠΎΠ±ΡΠ΅ΠΊΡ BroadcastReceiver, Π²Ρ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ. ΠΡΠΈ Π΄Π²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π·Π»ΠΈΡΠ°ΡΡΡΡ: Π·Π°ΠΏΡΡΠΊ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅ΡΠ΅Π· Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠ΅ΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠΊΡΠ°Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Ρ ΠΊΠΎΡΠΎΡΡΠΌ Π² Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΠ΅ΡΠ΅Π΄Π°ΡΠ° ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ, ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±ΡΡΠ½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΊΠΎΡΠΎΡΠ°Ρ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ, ΠΈΠΌΠ΅Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΉ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ.
ΠΡΠΈΡΠΌΠ½ΠΈΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ
Android ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΠΉ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΡΠΎΠ²Π΅Π½Ρ Π·Π°ΡΡΠ΄ΠΊΠΈ Π±Π°ΡΠ°ΡΠ΅ΠΈ, ΡΠ΅ΡΠ΅Π²ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ, Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ Π·Π²ΠΎΠ½ΠΊΠΈ, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ°ΡΠΎΠ²ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ°, ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π²Ρ ΠΎΠ΄ΡΡΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ SMS ΠΈΠ»ΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ ΡΠ΅Π»Π΅ΡΠΎΠ½Ρ. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ ΠΊ Π²Π°ΡΠΈΠΌ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠΎΠ΅ΠΊΡΠ°ΠΌ Π½ΠΎΠ²ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠ΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΡΡ ΡΠΎΠ±ΡΡΠΈΡΡ .
Π‘Π»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΏΠΈΡΠΎΠΊ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ ΠΊΠ°ΠΊ ΠΊΠΎΠ½ΡΡΠ°Π½ΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Intent, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΡΠ»Π΅Π΄ΠΈΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π°:
Π’ΠΈΠΏΡ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΉ
ΠΡΡΡ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΠΎΡΠΏΡΠ°Π²ΠΊΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΉ
ΠΡΠ»ΠΈ Π²Π°ΠΆΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΈ ΠΏΠΎΠ»ΡΡΠ°Π»ΠΈ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΠ»ΠΈ ΠΌΠΎΠ³Π»ΠΈ Π²Π»ΠΈΡΡΡ Π½Π° ΡΡΠ°Π½ΡΠ»ΠΈΡΡΠ΅ΠΌΠΎΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ sendOrderedBroadcast():
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π²Π°ΡΠ΅ Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄ΠΎΠΉΠ΄ΡΡ Π΄ΠΎ Π²ΡΠ΅Ρ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡΡΠΈΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΌ Π΄ΠΎΡΡΡΠΏΠΎΠΌ (Π΅ΡΠ»ΠΈ ΠΎΠ½ Π±ΡΠ» ΡΠΊΠ°Π·Π°Π½), Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈΡ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠ°. ΠΡΠΈΠΎΡΠΈΡΠ΅Ρ Π·Π°Π΄Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°ΡΡΠΈΠ±ΡΡΠ° android:priority Π²Π½ΡΡΡΠΈ ΡΠ·Π»Π° ΡΠΈΠ»ΡΡΡΠ° Π½Π°ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ΅. Π§Π΅ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΠΏΡΠΈΠΎΡΠΈΡΠ΅Ρ.
ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΡΠ΅ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠΈΠΎΡΠΈΡΠ΅ΡΠΎΠ² ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΠ΅Ρ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΎΠ², ΠΊΠΎΡΠΎΡΡΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΠΏΡΠΈΡΠΌΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² Android 8.0 Oreo (API 26)
Π§Π°ΡΡΡ Π½Π΅ΡΠ²Π½ΡΡ (implicit) ΡΠΈΡΠΎΠΊΠΎΠ²Π΅ΡΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ, Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ, Π·Π°ΠΏΡΠ΅ΡΠΈΠ»ΠΈ. Π’Π΅ΠΏΠ΅ΡΡ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ. Π‘ΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ ΠΏΡΠ΅ΠΆΠ΄Π΅ Π±Π΅Π· ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠΉ.
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π·Π°ΠΌΠ΅Π½Ρ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°Π΅Π² ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ JobScheduler.
ΠΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΏΡΠΈΡΠΌΠ½ΠΈΠΊΠΎΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ android.net.conn.CONNECTIVITY_CHANGE, ACTION_POWER_CONNECTED ΠΈ Π΄Ρ.
ΠΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² Android 9.0 Pie (API 28)
Π‘ΡΠ°Π»ΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌΠΎΠΉ ΠΏΡΠΈ ΡΡΠ°Π½ΡΠ»ΡΡΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Wi-Fi ΠΈ Network_State_Changed_Action.
Android BroadcastReceiver, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ: ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠΏΡΠΎΡΠΈΡΡ BroadcastReceiver ΡΠ²Π΅Π΄ΠΎΠΌΠ»ΡΡΡ Π½Π°Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΡ Ρ ΡΠ΅ΡΡΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ. Π ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Ρ Π½Π°Ρ ΠΏΡΠΎΠΏΠ°Π΄Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈΠ»ΠΈ Π²ΠΊΠ»ΡΡΠΈΡΡΡ, ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅.
Π’Π°ΠΊΠΆΠ΅, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π΄ΡΡΠ³ΡΡ, ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΡΠΎΠΊΠΎ-Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½Π°, Ρ. Π΅. ΠΌΡ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΡΠΎΡΠ»Π°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΡΠΎΠΊΠ΅, Π° ΡΠ»ΠΎΠ²ΠΈΡΡ Π΅Π³ΠΎ Π² Π΄ΡΡΠ³ΠΎΠΌ. ΠΠΎΠ»Π΅Π΅ ΡΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π° ΡΠ΅Π»Π΅ΡΠΎΠ½Π΅ Π² Π΄ΡΡΠ³ΠΎΠ΅.
ΠΠ΅ΡΠ΅ΡΡΠ»ΠΊΠ° ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ ΠΈ ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠ° (ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ°). ΠΠ± ΡΡΠΎΠΌ Ρ ΡΠ°ΡΡΠΊΠ°ΠΆΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΡΡΡ Π½ΠΈΠΆΠ΅.
ΠΡΠ°ΠΊ, Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ², ΠΊΠ°ΠΊ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ BroadcastReceiver. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠ΄ΠΎΠ±Π΅Π½ Π² ΡΠ²ΠΎΠ΅ΠΉ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΏΠΎΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π·Π°Π΄Π°Ρ.
Π‘ΠΏΠΎΡΠΎΠ± Π½ΠΎΠΌΠ΅Ρ 1
ΠΠ°Π΄Π°ΡΠ°: ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Π³Π΄Π°, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ. Π ΡΡΠΎΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠ΅ Π½Π°ΡΠ° ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΠ° Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π²ΡΠ΅Π³Π΄Π° ΠΈ ΠΌΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅ΠΌ Π΅Π΅ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ.
ΠΡΠΎ ΡΠ΄ΠΎΠ±Π½ΠΎ, Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π΄Π°ΠΆΠ΅ Π² ΡΠ΅Ρ ΡΠ»ΡΡΠ°ΡΡ , ΠΊΠΎΠ΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ (Ρ. Π΅. ΠΌΡ Π±ΡΠ΄Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠΎΠ΄ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄Π°ΠΆΠ΅ Π½ΠΈΡΠ΅Π³ΠΎ Π½Π΅ ΡΠ·Π½Π°Π΅Ρ Ρ Π΅-Ρ Π΅:) ).
ΠΡΠ°ΠΊ, Π²ΠΎ ΠΏΠ΅ΡΠ²ΡΡ
ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ·Π΄Π°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠΉ. ΠΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΌΡ ΠΏΠΎΠ»ΡΡΠΈΠΌ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΡ BroadcastReceiver. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° BroadcastReceiver ΠΈ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ onReceive.
ΠΠΎΡ ΡΠ°ΠΊ:
ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ ΡΠ²ΠΎΠΉ ΠΊΠ»Π°ΡΡ MyBroadcastReceiver.java ΠΈ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π»ΠΈΡΡ ΠΎΡ BroadcastReceiver Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π°Π±ΡΡΡΠ°ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ onReceive(), Π΅Π³ΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ. Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΏΡΠΎΡΡΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ Π² ΠΊΠΎΠ½ΡΠΎΠ»Ρ LogCat ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅.
ΠΠ΅ΡΠΎΠ΄ onReceive() Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΌΡ Π·Π°ΡΠ΅Π³Π΅ΡΡΡΠΈΡΠΎΠ²Π°Π»ΠΈΡΡ (ΠΊΡΠΏΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠΊΡ ΠΆΡΡΠ½Π°Π»Π°:) ).
Π’Π΅ΠΏΠ΅ΡΡ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ-ΡΠΎ ΡΠΎΠΎΠ±ΡΠΈΡΡ BroadcastReceiver ΠΊΠ°ΠΊΠΈΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈ ΠΊΡΠ΄Π° ΠΏΡΠΈΡΡΠ»Π°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ (Ρ. Π΅. Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠΊΠ°Π·Π°ΡΡ, ΡΡΠΎ-Π±Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΠ»ΠΈ Π² Π½Π°Ρ ΠΊΠ»Π°ΡΡ MyBroadcastReceiver.java, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π²ΡΡΠ΅).
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π·Π°ΠΏΠΈΡΡ Π² ΡΠ°ΠΉΠ»Π΅ AndroidManifest.xml. ΠΠ½ΡΡΡΠΈ ΡΠ΅Π³Π° — ΡΠ°ΠΌ, Π³Π΄Π΅ Ρ Π½Π°Ρ ΠΏΡΠΎΠΏΠΈΡΠ°Π½Ρ Π½Π°ΡΠΈ ΠΠΊΡΠΈΠ²ΠΈΡΠΈ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΈΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ ΡΡΡΠΎΠΊΠΈ:
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅. ΠΠΎΡ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ΄ AndroidManifest.xml, ΡΡΠΎ-Π±Ρ Π²ΠΈΠ΄Π΅ΡΡ ΠΊΡΠ΄Π° Π²ΠΏΠΈΡΠ°ΡΡ MyBroadcastReceiver.
Π’Π΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π²ΠΊΠ»ΡΡΠ°ΡΡ/Π²ΡΠΊΠ»ΡΡΠ°ΡΡ Π΄ΠΎΡΡΡΠΏ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ, ΠΊΠ°ΠΊ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π½Π°ΡΠ΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅. Π‘ΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ.
ΠΠ° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅ ΡΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± Π½Π΅ ΡΠ°ΡΠΏΡΠΎΡΡΠ°Π½Π΅Π½, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠΎ Π½Π΅ ΡΠ°ΠΌΠΎΠ΅ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π±ΡΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π½Π° ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ. ΠΡΠΎ ΠΎΡΠΆΠΈΡΠ°Π΅Ρ ΡΠ΅ΡΡΡΡΡ ΡΠΈΡΡΠ΅ΠΌΡ, Π΄Π° ΠΈ Π½Π΅ ΠΎΡΠ΅Π½Ρ Ρ ΠΎΡΠΎΡΠΎ Π²ΡΠ΅ ΡΠ°ΠΊΠΈ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ-Π»ΠΈΠ±ΠΎ Π² Π½Π΅Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
ΠΠΠΠΠ ΠΠ‘ΠΠΠΠ¬ΠΠΠΠΠ’Π¬ ΠΠΠΠΠ«Π ΠΠΠ’ΠΠ
Π‘ΠΏΠΎΡΠΎΠ± Π½ΠΎΠΌΠ΅Ρ 2
ΠΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠΌ, ΡΡΠΎ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ . ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΡΡΠ» ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠΠ°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΠΈΡ , ΠΊΠ°ΠΊ Π² ΡΠΏΠΎΡΠΎΠ±Π΅ 1, Π½ΠΎ ΠΌΡ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠΌΠ΅ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π°ΠΌ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Π½ΡΠΆΠ½Ρ.
Π₯ΠΎΡΠΎΡΠΈΠΌ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ Activity ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ½ Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ Activity.
Π‘ΠΏΠ΅ΡΠ²Π°, ΠΊΠ°ΠΊ ΠΈ Π² ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠΏΠΎΡΠΎΠ±Π΅ Π½Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ, ΠΊΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ ΠΊ Π½Π°ΠΌ ΠΏΡΠΈΠ΄Π΅Ρ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅:
ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΠΎΠ± ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅ ΠΏΠΎΡΠΈΡΠ°ΠΉΡΠ΅ Π² ΡΠΏΠΎΡΠΎΠ±Π΅ 1, Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΏΡΡΡΠΈΠ»ΠΈ ΠΈΠ»ΠΈ Π·Π°Π±ΡΠ»ΠΈ.
Π Π²ΠΎΡ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅. ΠΡΠ»ΠΈ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ, Π½Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΈΡ Π² AndroidManifest.xml. Π’Π°ΠΊ ΡΡΠΎ, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ ΠΎΡΡΠ°Π»ΡΡ ΠΊΠΎΠ΄ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅Π³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π°, ΡΠ΄Π°Π»ΠΈΡΠ΅ Π΅Π³ΠΎ ΠΈΠ»ΠΈ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅.
Π’Π΅ΠΏΠ΅ΡΡ ΠΈΠ΄Π΅ΠΌ Π² Π½Π°ΡΡ Activity Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ Π²ΠΊΠ»ΡΡΠ°ΡΡ ΠΈ ΠΎΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΎΡΠ»ΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄ΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ onResume(), ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ Π½Π° ΡΡΠ°ΡΡΠ΅ Activity ΠΈ ΠΌΠ΅ΡΠΎΠ΄ onPause(), ΠΊΠΎΡΠΎΡΡΠΉ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΠ³Π΄Π° ΠΌΡ ΡΡ ΠΎΠ΄ΠΈΠΌ Ρ Activity. ΠΠ°ΠΏΠΈΡΠ΅ΠΌ Π² ΡΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π°Ρ ΠΊΠΎΠ΄ Π΄Π»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ:
ΠΠ°Π»Π΅Π΅ ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΠΌΠ΅ΡΠΎΠ΄ registerReceiver() ΠΈ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ Π² Π½Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ + ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΊΠ»Π°ΡΡΠ° IntentFilter, ΠΊΠΎΡΠΎΡΡΠΉ Π³ΠΎΠ²ΠΎΡΠΈΡ ΠΠ½Π΄ΡΠΎΠΈΠ΄Ρ, ΠΊΠ°ΠΊΠΈΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ
ΠΠ΅ΡΠΎΠ΄ registerReceiver() Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Activity, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π² ΠΊΠ»Π°ΡΡΠ΅ Context ΠΎΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅ΡΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Activity.
Π§ΡΠΎ-Π±Ρ ΠΎΡΠΏΠΈΡΠ°ΡΡΡΡ ΠΎΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ unregisterReceiver(), Π² ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ΄Π°Π΅ΠΌ ΠΎΠ±ΡΠ΅ΠΊΡ Π½Π°ΡΠ΅Π³ΠΎ ΠΊΠ»Π°ΡΡΠ° MyBroadcastReceiver. Π’. e. ΠΌΡ Π³ΠΎΠ²ΠΎΡΠΈΠΌ ΠΠ½Π΄ΡΠΎΠΈΠ΄Ρ, ΡΡΠΎ ΠΌΡ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Ρ ΠΎΡΠΈΠΌ ΠΏΠΎΠ»ΡΡΠ°ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π² ΠΊΠ»Π°ΡΡ MyBroadcastReceiver.
ΠΠ° ΡΡΠΎΠΌ Π²ΡΠ΅, ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΊΠΎΠ΄ ΠΈ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ Π½Π°Ρ ΠΎΡΠΊΡΡΡΠ° Π½Π°ΡΠ° Activity, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΡ ΠΏΡΠΎΠΏΠΈΡΠ°Π»ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.
Π‘ΠΏΠΎΡΠΎΠ± Π½ΠΎΠΌΠ΅Ρ 3
ΠΠ°Π΄Π°ΡΠ°: ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΠΌΡ Ρ ΠΎΡΠΈΠΌ ΡΡΠΎ-ΡΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π² ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΏΡΠΈΡΠ»ΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅. ΠΠ°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΠΌΠ΅ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ (Activity).
ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΏΠΎΡΠΎΠ±Π° Π½ΠΎΠΌΠ΅Ρ 2, ΠΏΡΠΎΡΡΠΎ ΡΡΡ ΠΌΡ ΡΠ°Π·ΠΌΠ΅ΡΡΠΈΠ»ΠΈ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΡΡΠΌΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅ Activity Ρ. Π΅. ΠΌΡ ΠΏΠ΅ΡΠ΅Π½Π΅ΡΠ΅ΠΌ MyBroadcastReceiver Π² ΠΊΠ»Π°ΡΡ Activity.
Π‘Π΄Π΅Π»Π°Π΅ΠΌ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠ»Π°ΡΡΠ° Π²ΠΎΡ ΡΠ°ΠΊ:
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡ Π² Π½Π°Ρ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ·ΡΠ²Π°ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ onReceive(). ΠΠΎΠ΄ Π²Π½ΡΡΡΠΈ ΠΌΠ΅ΡΠΎΠ΄Π° onReceive() Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π² ΡΠΎΠΌ ΠΆΠ΅ ΠΏΠΎΡΠΎΠΊΠ΅, ΡΡΠΎ ΠΈ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ, ΡΠ°ΠΊ ΡΡΠΎ Ρ Π½Π°Ρ Π½Π΅Ρ Π½ΠΈΠΊΠ°ΠΊΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ ΡΡΠΎ-ΡΠΎ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ ΠΏΡΡΠΌΠΎ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° onReceive().
ΠΡΠΎΡ ΡΠΏΠΎΡΠΎΠ± ΡΠ°ΠΌΡΠΉ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΉ Π² ΠΠ½Π΄ΡΠΎΠΈΠ΄.
ΠΠΠΠΠ ΠΠ‘ΠΠΠΠ¬ΠΠΠΠΠ’Π¬ ΠΠΠΠΠ«Π ΠΠΠ’ΠΠ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ, ΡΡΠΎ Π΄ΠΎΡΠΈΡΠ°Π»ΠΈ Π΄ΠΎ ΠΊΠΎΠ½ΡΠ°! Π£ΡΠΏΠ΅Ρ ΠΎΠ² Π²Π°ΠΌ Π² ΠΈΠ·ΡΡΠ΅Π½ΠΈΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎ ΠΊΡΡΡΠΎΠΉ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ Android!