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

  • Liz Morgan

    Liz Morgan

    4 Aralık 2011
  • MagmaRhino

    MagmaRhino

    16 Temmuz 2011
  • MrChiCity3

    MrChiCity3

    14 NİSAN 2008