2009-12-08 27 views
7
TasKiller için

sayesinde ben kapatma güncellemelerine güvenilir yolu AlarmManager dan benim AppWidget geliyor var!Android - AlarmManager kurtarma

Şimdi kenara alay, nasıl böyle bir olaydan kurtarabilirim? Şimdiye kadar sadece Alerts telefonun yeniden başlatılmasından sonra dirildiğini görüyorum.

Böyle Uygulamamda ve benim Widget ait ancak daha iyi bir yol yoktur muhtelif Activity#onCreate olarak birkaç yerde düzeltme kodunu sopa olabilir?

uyarıları Tamam Ayrıca neyi - AlarmManager#setRepeating çalıştırmak olduğunu tespit değil bir yolu var mı?

Veya birden çok kez çalıştırmak için bir zarar var mı?

cevap

5

Şimdi, alaycı bir yana, böyle bir etkinlikten 'u nasıl kurtarabilirim?

Ben tek malt viski yardımcı olduğunu duymuşsunuzdur.

Bugüne kadar yalnızca Uyarılar dirilmiş sadece telefonu yeniden başlattıktan sonra olduğunu görüyoruz. Eğer BOOT_COMPLETED yayını Intent çengel ve alarmları yeniden kuruyorlar yalnızca olduğunu

.

Görev yürütücüler oldukça dikkat çekicidir, ancak BOOT_COMPLETED gibi sistem yayınlarını almaktan bir BroadcastReceiver durdurulamazlar. Kontrolü yeniden kazanmaya ve alarmlarınızı yeniden oluşturmaya yardımcı olmak için almak istediğiniz diğer bazı yayınları bulabilirsiniz.

Ayrıca hangi uyarılar TAMAM olursa - yani algılar ve AlarmManager # setRepeating artmaması için orada yoludur? Ya da birden fazla kez çalıştırmak için bir zarar var mı? Varolan bir alarmı cancel() yapabilirsiniz. Bu nedenle, olası kopyalarla ilgili endişeleriniz varsa, cancel() geçerli alarmı (alarm mevcut değilse sessizce başarısız olur), ardından alarmı ayarlayın.

+2

Eh bile cancel' 'gerekmez - Eğer zamanlama otomatik olarak sıfırlandığı aynı bekleyen niyet üzerinde zamanlamayı çağırdığınızda. Yardımınız için teşekkürler Mark, çok takdir – Bostone