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

  • Android Developers

    Android Deve

    9 Kasım 2007
  • hoorahjencar

    hoorahjencar

    6 HAZİRAN 2007
  • Study with Substance P

    Study with S

    31 Mayıs 2008