2012-03-22 30 views
5

Uygulama arka plandan ön plana ne zaman geri geldiğini algılamak için herhangi bir olay dinleyicisi tanıyor mu? Çok araştırdım ama böyle bir dinleyici bulamadım. Başka herhangi bir çözüm takdir edilir. Teşekkür ederim!Uygulama ön plan olayını tespit etme

cevap

3

Kullanım durumunuzla ilgili daha spesifik olmanız gerekebilir.

Kontrol dışarı Activity Lifecycle.

etkinlik ön plana geldiğinde Hem onResume() ve onStart() adlı.

Düzeltme:onRestart()?

+0

Uygulama arka plandan ön plana geldiğinde, tam olarak bu olaya ihtiyacım var. Bu durumda onResume() ve onStart() çağrılır, ancak sadece bu durumda değil. İşte sorun bu. Davalar arasında nasıl bir fark yaratabilirim? Uygulama arka plandan ön plana geri geliyorsa veya etkinlik basitçe yeniden başlatılırsa nasıl diyebilirim? – strongmayer

2

Ne yapmaya çalışıyorsunuz tam olarak emin değilim, ama bu 2 dizileri arasındaki farkı anlatmak isterseniz:

  • onCreate(), onStart(), onResume()
  • onPause(), onResume()

onPause() 'da bir bayrak ayarlayabilir ve bu bayrağı onResume() öğesinde kontrol edebilirsiniz.

3

Ben enterCount 300ms azalmaya geciktirmek ve bu iyi görünüyor OnPause içinde enterCount eklemek sonra enterCount 0 eşittir: kontrol ve onResume içinde

bir BaseActivity böyle bir şey, yaptığında onCreate değil mi İki kere geciktirir, ya da ilk defadan kaçınmak için onCreate'da bir şeyler yapabiliriz.

protected void onResume(){ 
     int enterCount=GlobalManager.getInstance().getEnterCount(); 
     if(enterCount==0){ 
      //do some thing for first enter 
     } 
     GlobalManager.getInstance().increaseEnterCount(); 
} 

protected void onPause(){ 
     GlobalManager.getInstance().decreaseEnterCountDelay(); 

} 
+0

Fikriniz nedir? Açıklayabilir misin? –

İlgili konular