2010-10-19 24 views
1

Je veux ajouter une alarme, alors j'ai utilisé le code suivant:La fonction de configuration d'Android AlarmManager ne fonctionne pas?

public void SetAlarm(Alarm alarm) 
{ 
    mTimeTarget = PendingIntent.getBroadcast(mContext, alarm.getRowID(), 
      new Intent(HomeScreen.ACTION_CHECK_TIME_ALARMS), PendingIntent.FLAG_UPDATE_CURRENT); 
    mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, alarm.getAlarmTime().toMillis(true), mTimeTarget); 
} 

Mais cela ne semble pas fonctionner. (J'ai essayé sur l'émulateur, et quand l'heure arrive, rien ne se passe - ma fonction onReceive sur ma classe qui étend BroadcastReceiver n'est pas appelée).

Voici comment j'initialisés mAlarmManager sur le constructeur (il est privé parce que cette classe est singleton):

private AlarmsManager(Context con) 
{ 
    mContext = con; 

    mAlarmManager = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE); 
} 

Toute idée ce que je fait de mal? Merci!

Répondre

1

Peut-être alarm.getAlarmTime().toMillis(true) n'est pas dans la base de temps de SystemClock.elapsedRealtime(). Si getAlarmTime() renvoie un objet android.text.format.Time, cela est certainement incorrect.

+0

J'ai réussi à résoudre ce problème! Le problème était dans le temps, comme vous l'avez dit. Merci beaucoup!!! – Roee