Autore Topic: AlarmaManager NotificationCompat ogni giorno  (Letto 441 volte)

Offline C_G

  • Utente junior
  • **
  • Post: 69
  • Respect: 0
    • Mostra profilo
AlarmaManager NotificationCompat ogni giorno
« il: 31 Maggio 2014, 20:58:54 CEST »
0
Ciao, voglio visualizzare una notifica ogni giorno ad una ora stabilita.
Tutto funziona, ma con un inconveniente, se riavvio il telefono, se riavvio l'app  viene creata la notifica anche se non dovrebbe.
Codice (Java): [Seleziona]
public class Notifica extends Service {
    @Override
public void onCreate()
{  
        Vibrator vi = (Vibrator) getSystemService(Context.VIBRATOR_SERVICE);
                vi.vibrate(700);
         NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(getApplicationContext())
                                .setSmallIcon(R.drawable.ic_launcher)
                                .setContentTitle(getString(R.string.app_name))
                                .setContentText(getString(R.string.testo_notifica));
                       
                        Intent resultIntent = new Intent( getApplicationContext(), Login.class );
                       
               
                        TaskStackBuilder stackBuilder = TaskStackBuilder.create(getApplicationContext());
               
                        stackBuilder.addParentStack(Login.class);
                       
                        stackBuilder.addNextIntent(resultIntent);
                        mBuilder.setAutoCancel(true);
                       
                        PendingIntent resultPendingIntent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
                        mBuilder.setContentIntent(resultPendingIntent);
                        NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
                        mNotificationManager.notify(0, mBuilder.build());

}
@Override
    public IBinder onBind(Intent intent) {
    return null;
    }
}

Codice (Java): [Seleziona]
 public void to_reminder(View v)
         {
             Intent intent=new Intent(this,Notifica.class);
             AlarmManager manager=(AlarmManager)getSystemService(Activity.ALARM_SERVICE);
             PendingIntent pendingIntent=PendingIntent.getService(this, 0,intent, 0);
             Calendar cal=Calendar.getInstance();
             cal.set(Calendar.HOUR_OF_DAY, 20);
             cal.set(Calendar.MINUTE,53);  
             cal.set(Calendar.SECOND, 0);
             cal.set(Calendar.MILLISECOND, 0);
             manager.setRepeating(AlarmManager.RTC_WAKEUP,cal.getTimeInMillis(),AlarmManager.INTERVAL_DAY,pendingIntent);
             
         }