Junior — Middle
შეგიძლიათ დაასახელოთ Android-ში გამოყენებული სხვადასხვა Broadcast Receiver-ის ტიპები?
sobes.tech AI
პასუხი AI-სგან
Android-ში არსებობს ორი ძირითადი ტიპის Broadcast Receiver:
-
სტატიკური (Static) Broadcast Receiver-ები — გამოაცხადება აპლიკაციის მანიფესტში (
AndroidManifest.xml). ისინი შეუძლიათ მიიღონ გამავრცელებელი შეტყობინებები მაშინაც კი, როდესაც აპლიკაცია არ არის გაშვებული. თუმცა, Android 8.0 (API 26) დან დაწყებული, მათი გამოყენება შეზღუდულია გარკვეული სისტემური მოვლენებისთვის რესურსების დაზოგვის მიზნით. -
დინამიური (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));