Autore Topic: notifiche pianificate a una certa data  (Letto 813 volte)

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
notifiche pianificate a una certa data
« il: 19 Marzo 2013, 22:23:43 CET »
0
ciao ragassi,
avrei bisogno di una mano.
Non capisco come posso fare la mia app in modo da programmare le mie notifiche a una certa data.
In pratica,la persona può prenotare un corso che si terrà a una data futura,io voglio che un paio d'ore prima esca la notifica per ricordare il corso prenotato.
Cercando un po' in giro ho visto che si potrebbe usare un AlarmManager e inviare un PendingIntent,poi dovrei fare un receiver per questo intent e nell'onreceive mostrare la notifica.
Se poi voglio che se spengo il cellulare l'alarm non si perdi,devo implementare un bootreceiver e ripristinare i pending intent che avevo prima..
fin qui è tutto giusto? se si in teoria ho capito tutto,ma non riesco a ricevere l'alarm :(

qui è dove lancio il pending intent(questo codice è nell'onclick dentro a un adapter)
Codice: [Seleziona]
AlarmManager am=(AlarmManager)getContext().getSystemService(Context.ALARM_SERVICE);
                                 Intent i = new Intent(getContext(), AlarmReceiver.class);
                                 PendingIntent pi = PendingIntent.getBroadcast(getContext(), 0, i, 0);
                                 am.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis()+5000, pi);
                                 Toast.makeText(getContext(), "Alarm set in 5 seconds",Toast.LENGTH_LONG).show();

qui il receiver

Codice: [Seleziona]
public class AlarmReceiver extends BroadcastReceiver {
        @Override
        public void onReceive(Context context, Intent intent) {
                Toast.makeText(context, "ricevutooooooo!.", Toast.LENGTH_LONG).show();
        }

}

nel manifest
Codice: [Seleziona]
<receiver  android:process=":remote" android:name=".AlarmReceiver" ></receiver>idee? è giusto usare un alarmmanager o devo fare un servizio mio?

Offline Sakazaki

  • Utente normale
  • ***
  • Post: 396
  • Respect: +74
    • Mostra profilo
  • Dispositivo Android:
    Sony xperia Z
  • Play Store ID:
    Saka Labs
  • Sistema operativo:
    Windows 8
Re:notifiche pianificate a una certa data
« Risposta #1 il: 20 Marzo 2013, 09:38:04 CET »
0
Con la teoria ci siamo, è il modo con cui stai costruendo il pending intent e registrando il ricevente che non va bene.
Se guardi nella sezione tutorial c'è un post davvero ottimo sull'argomento, dacci un'occhiata e dovresti risolvere :)

Offline lorux

  • Utente junior
  • **
  • Post: 97
  • Respect: +12
    • Google+
    • lor.catalano
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S2
  • Sistema operativo:
    Windows
Re:notifiche pianificate a una certa data
« Risposta #2 il: 20 Marzo 2013, 12:40:06 CET »
0
ho provato un po',seguendo questa guida

Android: schedule a notification | papers.ch

ma il receiver non si attiva :(



edit: ok è andato,sbagliavo nel manifest a dichiarare il receiver

avevo
Codice: [Seleziona]
<receiver android:name=".AlarmReceiver" ></receiver>mentre quello giusto è col path completo
Codice: [Seleziona]
<receiver android:name="it.lorux.virgym.receiver.AlarmReceiver" >
        </receiver>
« Ultima modifica: 20 Marzo 2013, 13:41:52 CET da lorux »