Junior — Middle
როგორ განვახორციელოთ Broadcast Receiver კომპონენტი, რომელიც მუშაობს მხოლოდ მიმდინარე აპლიკაციის ფარგლებში?
sobes.tech AI
პასუხი AI-სგან
მიმდინარე აპლიკაციის ფარგლებში მუშაობისთვის Broadcast Receiver-ს უნდა იყოს დინამიურად რეგისტრირებული კოდის საშუალებით, არა მანიფესტში. დინამიური რეგისტრაციით registerReceiver()-ის გამოყენებით, მიმღები მიიღებს მხოლოდ იმ საჰაერო შეტყობინებებს, რომლებიც აპლიკაციის შიგნით არის გაგზავნილი.
მაგალითი:
BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// მოვლენის დამუშავება
}
};
// რეგისტრაცია Activity ან Service-ში
IntentFilter filter = new IntentFilter("com.example.MY_ACTION");
registerReceiver(receiver, filter);
// არ დაგავიწყდეთ გაუქმება
unregisterReceiver(receiver);
ამ გზით, თქვენ შეზღუდავთ Broadcast Receiver-ის მოქმედების სფეროს მიმდინარე აპლიკაციით, რადგან სისტემური ან სხვა აპლიკაციები ვერ შეძლებენ ასეთი ადგილობრივი საჰაერო შეტყობინებების გაგზავნას.