Notification envoyé à l'utilisateur à un moment précis Android
Je suis en train d'envoyer une notification à un utilisateur à un moment précis à l'aide d'une Alarme Manager. Fondamentalement, rien ne se passe à tous et à moi, le code semble correct. Mon code pour l'Alarme Manager est ci-dessous:
/** Notify the user when they have a task */
public void notifyAtTime() {
Intent myIntent = new Intent(PlanActivity.this , Notification.class);
AlarmManager alarmManager = (AlarmManager)getSystemService(ALARM_SERVICE);
PendingIntent pendingIntent = PendingIntent.getService(PlanActivity.this, 0, myIntent, 0);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 12);
calendar.set(Calendar.MINUTE, 17);
calendar.set(Calendar.SECOND, 00);
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), 24*60*60*1000 , pendingIntent);
}
Le code de la notification, qui est dans la "Notification" de la classe est ci-dessous:
public class Notification extends Service {
@Override
public void onCreate() {
Toast.makeText(this, "Notification", Toast.LENGTH_LONG).show();
Intent intent = new Intent(this,PlanActivity.class);
PendingIntent pending = PendingIntent.getActivity(this, 0, intent, 0);
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
this).setSmallIcon(R.drawable.ic_launcher)
.setContentTitle("Football")
.setContentText("Don't forget that you have Football planned!")
.setContentIntent(pending);
NotificationManager manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
manager.notify(0, mBuilder.build());
}
@Override
public IBinder onBind(Intent intent) {
//TODO Auto-generated method stub
return null;
}
}
Le Toast qui est définie dans la classe de Notification n'est pas venu. Je ne sais pas si c'est quelque chose de vraiment idiot que je suis absente, mais toute aide serait grandement appréciée! 🙂
d'où vous appelez votre service/
Hmm.. où dois-je être?
vous pouvez appeler n'importe où que vous voulez, mais gardez à l'esprit que android va tuer le service d'arrière-plan pour l'économie d'énergie
votre service est déclaré dans votre manifeste?
code semble correct. Vous n'avez pas vraiment besoin d'un service, même si, d'un récepteur de radiodiffusion serait tout aussi bien.
Hmm.. où dois-je être?
vous pouvez appeler n'importe où que vous voulez, mais gardez à l'esprit que android va tuer le service d'arrière-plan pour l'économie d'énergie
votre service est déclaré dans votre manifeste?
code semble correct. Vous n'avez pas vraiment besoin d'un service, même si, d'un récepteur de radiodiffusion serait tout aussi bien.
OriginalL'auteur Connor McFadden | 2014-04-03
Vous devez vous connecter pour publier un commentaire.
C'est votre classe de récepteur :
Dans la Deuxième Activité pour définir Alerm :
Je tiens à recommander ce tutoriel Comment faire pour envoyer une notification
l'alarme va se déclencher le BroadcastReceiver et la Notification. N'oubliez pas de déclarer la Diffusion sur vous AndroidManifest.
Comment utilisez-vous
this
à l'intérieur d'un BroadcastReceiver?comment est-ce différent de ce que l'OP est déjà en train de faire?
Besoin d'ajouter que le récepteur se manifeste également à obtenir ce travail <receiver android:name=".outils.Récepteur"> <intent-filter> <action android:name="android.l'intention.d'action.BOOT_COMPLETED"> </action> </intent-filter> </récepteur>
OriginalL'auteur Saj
Essayez de mettre votre code de notification dans le onStartCommand fonction au lieu de onCreate.
OriginalL'auteur Amine ZGHIDI
De l'écriture de la alarmmanager code dans la méthode onCreate de l'écran de lancement de l'activité de l'application résolu mon problème
OriginalL'auteur Moses Kirathe