1

Uygulamamda, Application's onCreate yönteminde bir kurulum (sunucumuza çağrılar dahil) yapıyorum. Diğer yandan, bağlantıdaki değişiklikleri almak için bir broadcastReceiver kullanıyoruz. Her şey iyi çalışıyor gibi görünüyor, ancak, eğer uygulamayı öldürürsek ve sonra bağlantıda bir değişiklik varsa o zaman, sunucumuzun yapılmaması gereken bir çağrıya neden olan Uygulama'nın onCreate yöntemi çağrılır. Bu normal davranış mı? Bağlantı değişikliğinde çağrılacak onCreate yöntemini nasıl önleyebiliriz? peşinBağlantı yayınıReceiver çağrıları Uygulamanın onCreate yöntemi

<receiver android:name="x.ConnectivityReceiver" android:label="ConnectivityReceiver"> 
    <intent-filter> 
     <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> 
    </intent-filter> 
</receiver> 

Teşekkür:

bağlantı yayın alıcısı AndroidManifest bu şekilde yapılandırılır.

cevap

1

Bu normal davranıştır, çünkü uygulamanız BroadcastReceiver için başlatılmıştır. onCreate'un çağrılmasını engellemenin tek yolu, BroadcastReceiver ürününüzün kaldırılmasıdır.
Alıcınızı, uygulama sınıfınızda veya manifest'in yerine bir Etkinlikte dinamik olarak kaydedebilirsiniz. Gereksinimlerinize uygun olup olmadığını bilmiyorum,

+0

Cevabınız için teşekkür ederiz. O zaman yayınları uygulama sınıfımda kaydetmem gerektiğini tahmin ediyorum. Ama sonra, hiç bir zaman kayıtsız olmayacak, bir sorun olur mu? – FVod

+0

"OnTerminate" veya başka bir noktada kaydı kaldırabilirsiniz. Eğer kaydını silmezseniz ve uygulamalarınız biterse, alıcının sızdırdığını söyleyerek logcat'te bir stacktrace göreceksiniz. Ancak, bunun ölümcül bir istisna olmadığını düşünüyorum. – 0xDEADC0DE

İlgili konular