Sobes.tech
Junior — Middle

Կարող եք նշել Android-ում օգտագործվող տարբեր Broadcast Receiver տեսակները:

sobes.tech AI

Պատասխան AI-ից

Android-ում կա երկու հիմնական Broadcast Receiver տեսակ՝

  1. Կայուն (Static) Broadcast Receiver-ներ — հայտարարվում են հավելվածի մանիֆեստում (AndroidManifest.xml): Նրանք կարող են ստանալ հեռարձակման հաղորդագրություններ նույնիսկ երբ հավելվածը չի աշխատում: Սակայն Android 8.0 (API 26)-ից սկսած, դրանց օգտագործումը սահմանափակված է որոշ համակարգային իրադարձությունների համար, ռեսուրսների խնայողության համար:

  2. Դինամիկ (Dynamic) Broadcast Receiver-ներ — ծրագրային կերպով գրանցվում են կոդում (հաճախ 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));