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

  • GoldgenieOfficial

    GoldgenieOff

    23 Temmuz 2009
  • Missouri Star Quilt Company

    Missouri Sta

    18 ŞUBAT 2009
  • Monica Catral

    Monica Catra

    12 NİSAN 2009