Dans iOS, une "Notification locale" est utilisée par une application lorsqu'elle est en arrière-plan, pour informer l'utilisateur que quelque chose s'est produit, qu'il peut vouloir faire attention à:
Notifications locales ... pour informer les utilisateurs lorsque de nouvelles données deviennent disponibles pour votre application, même lorsque votre application ne s'exécute pas au premier plan. Par exemple, une application de messagerie peut informer l'utilisateur de l'arrivée d'un nouveau message et une application de calendrier peut informer l'utilisateur d'un rendez-vous à venir.
Apple dev - Présentation des notifications locales et distantes
[Son "local" si l'application elle-même fournit les nouvelles données; "distant" si un serveur distant envoie la mise à jour.]
Existe-t-il un équivalent sur Android?
Utilisez NotificationCompat.Builder si vous ciblez également d'anciennes API.
Intent intent = new Intent(ctx, HomeActivity.class);
PendingIntent contentIntent = PendingIntent.getActivity(ctx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
NotificationCompat.Builder b = new NotificationCompat.Builder(ctx);
b.setAutoCancel(true)
.setDefaults(Notification.DEFAULT_ALL)
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.drawable.ic_launcher)
.setTicker("Hearty365")
.setContentTitle("Default notification")
.setContentText("Lorem ipsum dolor sit amet, consectetur adipiscing elit.")
.setDefaults(Notification.DEFAULT_LIGHTS| Notification.DEFAULT_SOUND)
.setContentIntent(contentIntent)
.setContentInfo("Info");
NotificationManager notificationManager = (NotificationManager) ctx.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(1, b.build());
LocalBroadcastManager ressemble à une meilleure solution: http://developer.Android.com/reference/Android/support/v4/content/LocalBroadcastManager.html Créez votre propre action d'intention personnalisée, diffusez-la dans votre processus, et assurez-vous que toute activité, etc. est enregistrée comme récepteur à cette fin.
Si vous souhaitez déclencher une notification locale avec des données volumineuses, c'est-à-dire avec du texte multiligne dans une seule notification avec titre, ticker, icône, son .. utilisez le code suivant .. Je pense que cela vous aidera ..
Intent notificationIntent = new Intent(context,
ReminderListActivity.class);
notificationIntent.putExtra("clicked", "Notification Clicked");
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
| Intent.FLAG_ACTIVITY_SINGLE_TOP); // To open only one activity
// Invoking the default notification service
NotificationManager mNotificationManager;
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(
context);
Uri uri = RingtoneManager
.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
mBuilder.setContentTitle("Reminder");
mBuilder.setContentText("You have new Reminders.");
mBuilder.setTicker("New Reminder Alert!");
mBuilder.setSmallIcon(R.drawable.clock);
mBuilder.setSound(uri);
mBuilder.setAutoCancel(true);
// Add Big View Specific Configuration
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
String[] events = null;
events[0] = new String("Your first line text ");
events[1] = new String(" Your second line text");
// Sets a title for the Inbox style big view
inboxStyle.setBigContentTitle("You have Reminders:");
// Moves events into the big view
for (int i = 0; i < events.length; i++) {
inboxStyle.addLine(events[i]);
}
mBuilder.setStyle(inboxStyle);
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(context,
ReminderListActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder
.create(context);
stackBuilder.addParentStack(ReminderListActivity.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = stackBuilder
.getPendingIntent(0, PendingIntent.FLAG_CANCEL_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
mNotificationManager = (NotificationManager) context
.getSystemService(Context.NOTIFICATION_SERVICE);
// notificationID allows you to update the notification later on.
mNotificationManager.notify(999, mBuilder.build());