2012-08-31 18 views
9

Ho fatto riferimento a molti siti ma ancora non sono in grado di creare la notifica (promemoria o allarme) Non so esattamente come creare e lavorare con esso. sua per notificare/ricordare all'utente circa compito e anche fornire suggerimenti quotidiani per l'utente .. sarò felice di avere il vostro aiuto in questo modo e come il codice è troppo ...Come creare una notifica di sollecito

Saluti :) Thanxs per il tuo aiuto in anticipo.

+0

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

+1

La mia [risposta] (http://stackoverflow.com/a/12189105/996493) potrebbe aiutarti a soddisfare le tue esigenze. – Lucifer

+0

@iturki: Voglio la codifica per entrambi .. – Rushabh

risposta

33

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!

+0

ho bisogno di una classe di servizio? – Behnam

+1

potresti gentilmente condividere un esempio? – Behnam

+0

ma se la mia app è "Force Close", allora il servizio non funziona !!!! – javadaskari

3

qui c'è un po 'di YouTube Video Tutorial sulle notifiche giornaliere. Puoi trovare il codice sorgente nella descrizione.

Questo video non è stato creato da me. Ma penso che sia un aiuto veloce. Anche se vi consiglio alcuni cambiamenti perché il Notification.Builder è deprecato:

1.

import android.support.v4.app.NotificationCompat; 

2.

// Change: Notification mNotify = new Notification.Builder(this) to 
Notification mNotify = new NotificationCompat.Builder(this) 

Have Fun!

Problemi correlati