SORU
29 Aralık 2010, ÇARŞAMBA


Nasıl olursa AlarmManager önceden ayarlanmış bir alarm olup olmadığını kontrol etmek için?

Benim app başladığında eğer belirli bir alarm (AlarmManager) kayıtlı) zaten Kurulu ve çalışıyor olup olmadığını kontrol etmek istiyorum. Google sonuçları bu şekilde yok olduğunu gösterir gibi görünmektedir . Bu hala doğru mu? Herhangi bir eylem, yeni bir alarm oluşturmak için çekilmeden önce kullanıcı önerin için bunu araştırmanı istiyorum. Teşekkürler Ron

CEVAP
5 Mart 2012, PAZARTESİ


Yorum ron gönderildi takip, burada ayrıntılı çözüm. Diyelim ki böyle bekleyen bir niyet ile: yinelenen bir alarm kayıtlı olduğunu varsayalım

Intent intent = new Intent("com.my.package.MY_UNIQUE_ACTION");
PendingIntent pendingIntent = PendingIntent.getBroadcast(context, 0, 
                                      intent, PendingIntent.FLAG_UPDATE_CURRENT);
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
calendar.add(Calendar.MINUTE, 1);

AlarmManager alarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000 * 60, pendingIntent);

Eğer aktif olup olmadığını görmek için kontrol yol

boolean alarmUp = (PendingIntent.getBroadcast(context, 0, 
        new Intent("com.my.package.MY_UNIQUE_ACTION"), 
        PendingIntent.FLAG_NO_CREATE) != null);

if (alarmUp)
{
    Log.d("myTag", "Alarm is already active");
}

Bu javadoc açıklandığı gibi burada olan FLAG_NO_CREATE anahtar: if the described PendingIntent **does not** already exists, then simply return null (yerine yeni bir tane oluşturuluyor)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • itfigueres

    itfigueres

    12 EKİM 2013
  • Khan Academy

    Khan Academy

    17 Kasım 2006
  • TechBalance

    TechBalance

    12 HAZİRAN 2011