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

  • Booredatwork.com

    Booredatwork

    5 Ocak 2009
  • graham025

    graham025

    25 NİSAN 2006
  • habpsu

    habpsu

    25 Temmuz 2007