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 — მუშაობენ within ერთ აპლიკაციაში, გარეთ არ გამოდიან, რაც ზრდის უსაფრთხოებას და პროდუქტიულობას (LocalBroadcastManager).

დინამიკური რეგისტრაციის მაგალითი:

BroadcastReceiver receiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        // მოვლენის დამუშავება
    }
};
registerReceiver(receiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));