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

  • L33TNoonProductions

    L33TNoonProd

    24 EYLÜL 2010
  • jocc talking shit

    jocc talking

    6 NİSAN 2007
  • theKGB65

    theKGB65

    24 Aralık 2007