2016-03-27 23 views
0

Arka planda çalışan ve adımlar gibi kullanıcı etkinliklerini izleyen bir süreci başlatan bir Android sağlık uygulaması geliştirdim. Uygulama kullanıcı tarafından kapatılırsa, çekirdek sensörler monitörü arka planda çalışmaya devam eder. Uygulamanın yeni bir sürümünü pazara yüklemek üzereyim. Uygulama güncellendiğinde arka plan hizmetine ne olacak? Öldürecek mi? Beta kanalı üzerindeki testler, arka plan işleminin bir şekilde yarı ölü bir durumda kaldığını (örn. Süreç var, ancak çalışmaz) gösteriyor gibi görünüyor. Yeni bir sürüm yüklendiğinde arkaplan işleminin durduğundan emin olabilir miyim? Öyleyse nasıl? TeşekkürlerAndroid: Market Place'den yeni bir sürüm yüklendiğinde arka plan sürecine ne olur?

+0

budur yeniden edecektir: my Manifest dosyasında Örneğin aşağıdaki sahip bir alıcı oluşturduk onStartCommand() 'dan döndürdüğünüz değer? 'START_STICKY' – Yazan

+0

Yanıtınız için teşekkürler: START_REDELIVER_INTENT. Öldürüldüyse arka plan servisinin (ör. Android veya kullanıcı tarafından), blogumda açıklandığı gibi otomatik olarak yeniden başlayacağını unutmayın. [Http://fabcirablog.weebly.com/] – FabioC

+1

Ama aslında haklısınız, START_STICKY kullanmalıyım! – FabioC

cevap

0

Tüm işlemler öldürülür. Yeniden başlatılmasını istiyorsanız, arka plan işlemlerinde android.intent.action.MY_PACKAGE_REPLACED ile bir niyet filtresi ayarlamanız gerekir.

<intent-filter> 
<action android:name="android.intent.action.BOOT_COMPLETED" /> 
</intent-filter> 
<intent-filter> 
<action android:name="android.intent.action.QUICKBOOT_POWERON" /> 
</intent-filter> 
<intent-filter> 
<action android:name="android.intent.action.MY_PACKAGE_REPLACED" /> 
</intent-filter> 

Bu, bu alıcı (hizmetlerini yeniden başlatılır) yeniden başlatıldıktan sonra yeniden başlatılmasını garanti ve paketin sonra

0

Yeni sürüme güncellenirken, uygulama Android tarafından öldürülür. Bu, Android'in tüm arka plan hizmetlerini de durdurduğu anlamına gelir, ancak uygulama güncellemesi tamamlandıktan sonra hizmetler yeniden başlatılır.

+0

Sadece doğru cevabı ekledim, bu isteği beklediğimi unuttum Cevap için teşekkürler! – FabioC