2011-05-13 3 views
0

Ceci est mon code, mais cela ne fonctionne pas.services utilisant le gestionnaire d'alarme

Dans les milieux activtiy:

AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE); 
Intent intent = new Intent(this, OnBootReceiver.class); 
pendingIntent = PendingIntent.getBroadcast(this, 0, intent, 0); 
alarmManager.set(AlarmManager.RTC_WAKEUP, SystemClock.elapsedRealtime()+1000, 
       pendingIntent); 

En BroadcastReceiver:

NotificationManager mgr = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); 
CharSequence from = "xyz"; 
CharSequence message = "Crazy About Android..."; 
PendingIntent contentIntent = PendingIntent.getActivity(context, 0, new Intent(context, Settings.class), 0); 
Notification notif = new Notification(R.drawable.icon, "Crazy About Android...", System.currentTimeMillis()); 
notif.setLatestEventInfo(context, from, message, contentIntent); 
mgr.notify(1, notif); 
+0

Qu'est-ce qui ne fonctionne pas exactement? –

+0

avez-vous trouvé une solution à cela? – ghostrider

Répondre

0

Si votre essayez de démarrer votre intention en 1 seconde en utilisant l'unité AlarmManager.RTC_WAKEUP, vous pouvez utiliser System.currentTimeMillis() au lieu de Les différences sont expliquées ici: AlarmManager.RTC_WAKEUP doit être utilisé avec currentTimeMillis();

Sinon, vous pouvez utiliser le drapeau: AlarmManager.ELAPSED_REALTIME_WAKEUP pour fournir un temps calculé avec SystemClock.elapsedRealtime()

Les drapeaux sont décrites ici: http://developer.android.com/reference/android/app/AlarmManager.html.

Questions connexes