Alarm For Every Millis In Android Studio

Android Studio’da Her Milis İçin Alarm Ayarlama

Android uygulamalarında, belirli aralıklarla görevleri otomatikleştirmek için alarmlar kullanılır. Varsayılan olarak, Android alarmlar saniyelik hassasiyete sahiptir. Ancak, daha hassas zamanlama gerektiren uygulamalar için her milis için alarm ayarlama özelliği mevcuttur.

AlarmManager Sınıfı

Her milis için alarm ayarlama, AlarmManager sınıfı kullanılarak gerçekleştirilir. AlarmManager, sistem alarm hizmetine erişim sağlar ve alarmların planlanmasını ve yönetilmesini sağlar.

Alarm Türleri

AlarmManager iki tür alarm destekler:

  • RTC Alarmı: Gerçek zamanlı saat (RTC) ile senkronize edilir ve belirli bir tarih ve saatte tetiklenir.
  • ElapsedRealtime Alarmı: Sistemin açılışından bu yana geçen süreye göre tetiklenir.

Her Milis İçin Alarm Ayarlama

Her milis için alarm ayarlamak için setExactAndAllowWhileIdle() yöntemini kullanın:

java
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
long triggerAtMillis = SystemClock.elapsedRealtime() + 1000; // 1 saniye sonra tetikle
Intent intent = new Intent(this, AlarmReceiver.class);
PendingIntent pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0);
alarmManager.setExactAndAllowWhileIdle(AlarmManager.ELAPSED_REALTIME_WAKEUP, triggerAtMillis, pendingIntent);

Bu kod, 1 saniye sonra tetiklenecek bir alarm ayarlar. setExactAndAllowWhileIdle() yöntemi, alarmın cihaz boştayken bile tetiklenmesine izin verir.

Alarm Alıcısı

Alarm tetiklendiğinde, AlarmReceiver sınıfı tarafından bir yayın alıcısı çağrılır. Yayın alıcısı, alarm tarafından gerçekleştirilmesi gereken görevi işler.

“`java
public class AlarmReceiver extends BroadcastReceiver {

@Override
public void onReceive(Context context, Intent intent) {
    // Alarm tarafından gerçekleştirilecek görev
}

}
“`

Önemli Hususlar

  • Her milis için alarm ayarlamak, cihazın pil ömrünü önemli ölçüde azaltabilir.
  • Alarmlar, cihaz yeniden başlatıldığında iptal edilir.
  • Alarmlar, cihazın güç tasarrufu modundayken tetiklenmeyebilir.

Faydalı Kaynaklar


Yayımlandı