Middle
PendingIntent nədir?
sobes.tech Süni İntellekt
AI-dan cavab
PendingIntent, başqa bir tətbiqə, tətbiqinizin adından kodun bir hissəsini icra etmək imkanı verən bir tokendir.
O, aşağıdakı üçün istifadə olunur:
- Bildirişlər (bildiriciyə kliklədikdə fəaliyyətə başlamaq).
- Masaüstü widgetləri (istifadəçi kliklərini işləmək).
- Planlaşdırıcı xidmətlər (AlarmManager ilə təkrarlanan tapşırıqlar).
Adi Intent-dən əsas fərqlər:
PendingIntent, başqa bir tətbiqə ötürülür.PendingIntent, orijinal tətbiqin icazələrini saxlayır.
PendingIntent növləri:
getActivity():Activitybaşlatmaq üçün.// Activity başlatmaq üçün PendingIntent yaradın val intent = Intent(context, TargetActivity::class.java) val pendingIntent = PendingIntent.getActivity(context, 0, intent, 0)getService():Servicebaşlatmaq üçün.// Service başlatmaq üçün PendingIntent yaradın val intent = Intent(context, MyService::class.java) val pendingIntent = PendingIntent.getService(context, 0, intent, 0)getBroadcast(): Broadcast mesajı göndərmək üçün.// Broadcast göndərmək üçün PendingIntent yaradın val intent = Intent("MY_ACTION") val pendingIntent = PendingIntent.getBroadcast(context, 0, intent, 0)
PendingIntent bayraqları onların davranışına təsir edir:
| Bayraq | Təsviri |
|---|---|
FLAG_ONE_SHOT |
PendingIntent yalnız bir dəfə istifadə oluna bilər. |
FLAG_NO_CREATE |
Əgər PendingIntent mövcud deyilsə, onu yaratmayın, null qaytarın. |
FLAG_CANCEL_CURRENT |
Əgər eyni Intent ilə PendingIntent artıq mövcuddursa, onu ləğv edin və yenisini yaradın. |
FLAG_UPDATE_CURRENT |
Əgər eyni Intent ilə PendingIntent artıq mövcuddursa, onun Extras-ını yeniləyin. |
FLAG_IMMUTABLE |
PendingIntent digər tətbiqlər tərəfindən dəyişdirilə bilməz (tövsiyə olunur). |
PendingIntent istifadə edərkən, onları fərqləndirmək üçün unikal sorğu kodlarını (ikinci arqument getActivity, getService, getBroadcast metodlarında) göstərmək vacibdir.