Middle
Android-də fon xidməti (ön plan xidməti) nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Androidda ön plandakı xidmət (foreground service) yüksək prioritetə malik və istifadəçiyə görünən bir xidmət növüdür. İstifadəçi üçün nəzərə çarpan və batareya və ya yaddaş qənaəti üçün dayandırılmaması lazım olan tapşırıqları yerinə yetirir.
Əsas xüsusiyyətlər:
- Bildiriş sahəsində davamlı bildiriş göstərir. İstifadəçi xidmətin işlədiyini görə və onunla qarşılıqlı əlaqə qura bilər.
- Sistem, yüksək prioriteti səbəbindən adi fon xidməti və ya axına nisbətən ön plandakı xidməti daha az dayandıra bilər.
- Xüsusi icazə
FOREGROUND_SERVICEtələb edir. - Musiqi ifası, yerin izlənməsi, real vaxtda məlumatların sinxronizasiyası kimi tapşırıqlar üçün istifadə olunur.
Həyat dövrü:
startForegroundService()ilə başlayır.- 5 saniyə ərzində
startForeground(notificationId, notification)çağırılmalıdır ki, xidmət ön plana keçsin. Əks halda, sistem xidməti dayandıra vəForegroundServiceDidNotStartInTimeExceptionata bilər. stopSelf()və ya başqa bir komponentdənstopService()və ya istifadəçi tərəfindən bildiriş vasitəsilə məcburi dayandırılır. Dayandırıldıqda, bildirişi silmək üçünstopForeground(bool removeNotification)çağırılmalıdır.
Başlanğıc nümunəsi:
// İcazə almaq
ActivityCompat.requestPermissions(
this,
arrayOf(Manifest.permission.FOREGROUND_SERVICE),
REQUEST_CODE_FOREGROUND_SERVICE
)
// İcazə alındıqdan sonra və ya artıq varsa
val serviceIntent = Intent(this, MyForegroundService::class.java)
ContextCompat.startForegroundService(this, serviceIntent)
Xidmət daxilində:
// MyForegroundService.kt
override fun onStartCommand(intent: Intent?, flags: Int, startId: Int): Int {
val notification: Notification = createNotification() // Bildiriş yaratma metodu
startForeground(NOTIFICATION_ID, notification)
// Burada xidmətin tapşırığı başlayır
return START_STICKY // və ya başqa uyğun bayraq
}
override fun onDestroy() {
stopForeground(true) // Dayandırarkən bildirişi sil
// Resursların təmizlənməsi
super.onDestroy()
}