Junior — Middle
Hogyan valósítható meg a BroadcastReceiver indítása Android alkalmazásban?
sobes.tech MI
Válasz az MI-től
Az Android BroadcastReceiver-rel való munka megkezdéséhez két fő módszer létezik:
- Statikus regisztráció a manifestben — hozzáadva az
AndroidManifest.xml-hez. Ez a fogadó akkor is kap broadcast üzeneteket, ha az alkalmazás nincs futásban.
<receiver android:name=".MyBroadcastReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
- Dinamikus regisztráció kódban — az aktivitásban vagy szolgáltatásban a
registerReceiver()segítségével regisztrálva. Csak akkor működik, amíg az alkalmazás aktív.
BroadcastReceiver receiver = new MyBroadcastReceiver();
IntentFilter filter = new IntentFilter(Intent.ACTION_BATTERY_CHANGED);
registerReceiver(receiver, filter);
A módszer kiválasztása a feladattól függ: rendszer eseményekhez, amelyeket mindig figyelni kell — statikus regisztráció; ideiglenes eseményekhez — dinamikus regisztráció.