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

  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011
  • TeeMayneTV

    TeeMayneTV

    27 Kasım 2010
  • Tianna Sierra Dance

    Tianna Sierr

    16 EYLÜL 2013