avete bisogno di due cose:
- AlarmManager: per pianificare la vostra notifica una base regolare (giornaliera, settimanale, ..).
- Servizio: per avviare la notifica quando AlarmManager si spegne.
Ecco un esempio di base:
nella vostra attività:
Intent myIntent = new Intent(this , NotifyService.class);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService(this, 0, myIntent, 0);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.SECOND, 0);
calendar.set(Calendar.MINUTE, 0);
calendar.set(Calendar.HOUR, 0);
calendar.set(Calendar.AM_PM, Calendar.AM);
calendar.add(Calendar.DAY_OF_MONTH, 1);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 1000*60*60*24 , pendingIntent);
Questo innescherà allarme ogni giorno a mezzanotte (00:00). Puoi cambiarlo se vuoi.
Ora, creare un servizio NotifyService
e inserire questo codice nella sua onCreate()
:
@Override
public void onCreate() {
NotificationManager mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Notification notification = new Notification(R.drawable.notification_icon, "Notify Alarm strart", System.currentTimeMillis());
Intent myIntent = new Intent(this , MyActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
notification.setLatestEventInfo(this, "Notify label", "Notify text", contentIntent);
mNM.notify(NOTIFICATION, notification);
}
E questo codice mostrerà la notifica quando viene ricevuto l'allarme.
Buona fortuna!
si desidera una [Notifica] (http://developer.android.com/guide/topics/ui/notifiers/notifications.html) o un [Allarme] (http://developer.android.com/reference/ Android/app/AlarmManager.html)? Sii specifico – iTurki
La mia [risposta] (http://stackoverflow.com/a/12189105/996493) potrebbe aiutarti a soddisfare le tue esigenze. – Lucifer
@iturki: Voglio la codifica per entrambi .. – Rushabh