-4
Je vais essayer d'envoyer des messages de données à mon application comme ce format.comment afficher la notification contextuelle lorsque l'écran de l'appareil Android désactivé
{
"to": "token",
"data": {
"title":"Title...",
"body":"Body...",
"text":"text"
}
}
Ensuite, après ce JSON, je reçois dans mon appareil avec la méthode ci-dessous.
@Override
public void onMessageReceived(RemoteMessage message) {
Map<String, String> map = message.getData();
JSONObject obj = new JSONObject();
for (Object o : map.keySet()) {
String key = o.toString();
String value = map.get(key);
obj.put(key, value);
}
Intent resultIntent = new Intent();
showNotificationMessage(getApplicationContext(), "Test ...", obj.toString(), resultIntent);
}
public void showNotificationMessage(String title,
String message,
Intent intent) {
// Check for empty push message
if (TextUtils.isEmpty(message) && TextUtils.isEmpty(title)) {
return;
}
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent resultPendingIntent =
PendingIntent.getActivity(mContext, 0, intent, 0);
notificationSoundUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION);
showSmallNotification(title, message, resultPendingIntent, notificationSoundUri);
playNotificationSound();
}
private void showSmallNotification(String title,
String message,
PendingIntent resultPendingIntent,
Uri alarmSound) {
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(mContext);
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
inboxStyle.addLine(message);
Notification notification;
notification = mBuilder.setSmallIcon(R.mipmap.ic_launcher)
.setTicker(title)
.setShowWhen(true)
.setAutoCancel(true)
.setContentTitle(title)
.setContentIntent(resultPendingIntent)
.setSound(alarmSound)
.setStyle(inboxStyle)
.setWhen(System.currentTimeMillis())
.setSmallIcon(R.mipmap.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(mContext.getResources(), R.mipmap.ic_launcher))
.setContentText(message)
.build();
NotificationManager notificationManager = (NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(new Random().nextInt(10000), notification);
}
Cette fois en utilisant ce titre et le corps que je veux montrer former pop-up de notification mon appareil et l'écran de mon appareil hors tension alors comment je peux notification dans mon appareil apparaitre.
ceci est valide ans mais travaillant dessous marshmallow vous avez n'importe quelle suggestion pour ci-dessus guimauve –