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-ի գործողության տարածքը ընթացիկ հավելվածով, քանի որ համակարգային կամ այլ հավելվածներ չեն կարող ուղարկել այդպիսի տեղական հեռարձակման հաղորդագրություններ։