Soru & Cevap

Android AlarmManager

22.10.2016 - 02:57

Merhaba,

Geliştirmekte olduğum uygulamada Alarm Manager kullandım,

Aşağıda ki belirtiğim şekilde bir sorun ile karşılaşıyorum bu konuda yardımcı olabilirseniz çok memnun olurum.

Her gün 6 değişik zamanda alarm planlaması yaptım , fakat saatler her gün değişmekte 

Alarm gayet iyi bir şekilde çalışmakta, fakat alarm zamanı sabah saat 08:00 öncesi olduğunda 3 dakika veya 5 dakika gecikme ile alarm çalışmaktadır.

Örneğin alarm zamanını sabah 5:45 ayarlaması olduğunda 5:45 yerine 5:48 veya 5:50 olduğunda alarm devreye girmektedir.

Alarm Manager için RTC_WAKEUP yöntemini kullandım.

Android Sürümü :5.0.1 

Saygılarımla.

347 Görüntülenme

4 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-57989-1451678910.jpg
serdarşen
12.12.2016 - 10:15

Osman, aynı sorunu bende yaşıyorum bazen kurduğum alarmlar 1 - 2 dk geç çalıyor. bazen ör. 10:05 ve 10:10' e alarm kurdum diyelim ikisinde 10:12' de çalıyor filan. Github' ta bu sorunu veren ve vermeye iki tane reminder uygulası buldum denedim. ama sorunun neden kaynaklandığını hala bulamadım. Arkadaşlar bu  sorunun nedenini bulursanız lütfen söyleyin çok önemli ve acil.

Düzgün çalışan reminder: https://github.com/jonasbleyl/recurrence 

Hatalı çalışan reminder : https://github.com/blanyal/Remindly

 

 

Profile picture for user veritable34
veritable34
26.10.2016 - 06:17

Merhaba,

Arka plan için bir aşağıda ki şekilde bir Service hazırladım,

mIntentFilter.addAction(Intent.ACTION_TIME_TICK);

Bu service ile her dakikayı kontrol edebiliyorum.

Acaba bu yöntem pil tüketimini fazla yapar mı? Yoksa alarm manager daha mı iyi olur.

Saygılarımla.

Profile picture for user veritable34
veritable34
25.10.2016 - 12:48

Merhaba,

Android 5.01 için AlarmManager.AlarmClockInfo yöntrm ile test ettim, bu şekilde sorunsuz çalışıyor,  eski sürümlerde ise bu özellik çalışmadığından eski yöntem ile test ediyorum o şekilde de sorun yok gibi.

Eski sürümler için aşağıda ki şekilde alarm ayarlaması yapıyorum.

alarmManager.set(android.app.AlarmManager.RTC_WAKEUP,  wakeUp_cal.getTimeInMillis(), createPendingIntent(mcontext,0));

1 gün oldu test yapalı, teste devam ediyorum.

Cevabınız için teşekkürler.

Saygılarımla,

Profile picture for user samcro
samcro
24.10.2016 - 10:38

Öncelikle ben burada bir hata göremiyorum verdiğin parametrelerde yanlışlık olmalı, alarm manager önceden 1 kere kullanmıştım ve parametre olarak timemillis alıyordu eğer kullanımı Android  5 için değişmediyse hala gönderirken yaptığın çevirme işlemine bakmalısın hata orda olmalı.