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

  • Lamarr Wilson

    Lamarr Wilso

    27 Aralık 2008
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • Vicious Computers

    Vicious Comp

    14 EKİM 2006