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

  • guau . .

    guau . .

    25 Ocak 2008
  • Tina Chen

    Tina Chen

    26 Mayıs 2012
  • Top Gear

    Top Gear

    27 Mart 2006