SORU
1 Mart 2009, Pazar


Nasıl bir hizmet Android üzerinde çalışan olup olmadığını kontrol etmek için?

Nasıl eğer bir arka plan hizmeti (Android) çalışıyorsa kontrol edebilirim?

Eğer açıksa bana kapalı ve kapalı ise açın sağlar servisi -- durumu değiştirir Android bir aktivite istiyorum.

CEVAP
7 Mayıs 2011, CUMARTESİ


Bir faaliyet içinde aşağıdaki kullanın:

private boolean isMyServiceRunning(Class<?> serviceClass) {
    ActivityManager manager = (ActivityManager) getSystemService(Context.ACTIVITY_SERVICE);
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) {
        if (serviceClass.getName().equals(service.service.getClassName())) {
            return true;
        }
    }
    return false;
}

Ve kullanmaya çağırıyorum:

isMyServiceRunning(MyService.class)

Bu çalışan hizmetler ActivityManager#getRunningServices Android işletim sistemi tarafından sağlanan ilgili bilgilere dayalı olduğu için güvenilir bir şekilde çalışır.

Tüm bu yaklaşımlar kullanılarak onDestroy veya onSometing olayları veya Bağlayıcı veya statik değişkenler çalışmaz çünkü güvenilir bir geliştirici hiç belli olmaz, ne zaman Android öldürmeye karar süreci ya da hangi sözü geri deniyor ya. "Öldürülebiliyor" Android belgelerinde lifecycle events table sütun. not lütfen

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ayite Atiwoto (superjiffrey)

    Ayite Atiwot

    29 EYLÜL 2010
  • Plugable

    Plugable

    19 Mayıs 2010
  • RealPapaPit

    RealPapaPit

    16 Mart 2009