Junior — Middle
Можете ли да назовете различните типове Broadcast Receiver, използвани в Android?
sobes.tech AI
Отговор от AI
В Android съществуват два основни типа Broadcast Receiver:
-
Статични (Static) Broadcast Receivers — обявяват се в манифеста на приложението (
AndroidManifest.xml). Те могат да получават широковещателни съобщения дори когато приложението не е стартирано. Въпреки това, от Android 8.0 (API 26) тяхната употреба е ограничена за някои системни събития, за да се пести ресурси. -
Динамични (Dynamic) Broadcast Receivers — регистрират се програмно в кода (обикновено в
onCreateилиonResumeна активността) чрезregisterReceiver(). Те са активни само докато приложението или компонентът е стартиран и регистриран.
Може също да се разграничат:
- Ordered Broadcast Receivers — получават съобщенията последователно, с възможност да прекъснат по-нататъшната предавка.
- Local Broadcast Receivers — работят вътре в едно приложение, без да излизат извън него, което повишава сигурността и производителността (
LocalBroadcastManager).
Пример за динамична регистрация:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// обработка на събитието
}
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));