У којим случајевима регистрација Broadcast Receiver у Android манифесту није дозвољена?
sobes.tech АИ
Одговор од АИ
Registracija Broadcast Receiver-a u Android manifestu nije dozvoljena u sledećim slučajevima:
-
Za dinamičke ili privatne događaje: Ako primalac treba da reaguje samo na događaje koji se dešavaju unutar aplikacije ili na događaje koji ne bi trebalo da budu dostupni drugim aplikacijama, bolje je da ga registrujete programatski (dinamički) putem
registerReceiver()u kodu. -
Za neke sistemske događaje u novim verzijama Androida: Od Android 8.0 (API 26), mnoge sistemske broadcast poruke (npr.,
ACTION_NEW_PICTURE,ACTION_NEW_SMS) ne mogu se registrovati u manifestu radi smanjenja opterećenja sistema i povećanja bezbednosti. U takvim slučajevima, primalaci moraju biti registrovani dinamički. -
Ako je potrebna kontrola životnog ciklusa: Registracija u manifestu čini da primalac bude aktivan stalno, što može dovesti do nepotrebnog trošenja resursa. Ako primalac treba da radi samo u određenim trenucima (npr., kada je aktivnost aktivna), registracija treba biti dinamička.
Stoga, registracija u manifestu nije dozvoljena ili nije efikasna za događaje koji se obrađuju samo kada je aplikacija aktivna ili za sistemske događaje koji su zabranjeni za statičku registraciju u novim verzijama Androida.