Partage
  • Partager sur Facebook
  • Partager sur Twitter

android - notification

    5 octobre 2018 à 21:56:25

    bonjour

    j'essaie d'afficher des notifications sur mon tel.

    du coup je fais comme ca :

    NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this, CHANNEL_ID)
                        .setSmallIcon()
                        .setContentTitle()
                        .setContentText()
                        .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
    notificationManager.notify(1, mBuilder.build());

    ca marche, sauf que la notif je la vois juste lorsque je déroule mon menu de notfication.

    j'aimerais que lorsqu'elle apparaisse sur le telephone, il y ait une petite baniere rectangulaire qui glisse quelques secondes par le haut de l'écran pour bien montrer qu'on a une notification. un peu comme facebook ou quand on recoit un message.

    • Partager sur Facebook
    • Partager sur Twitter
      10 octobre 2018 à 14:00:54

      Salut,

      Il te faut changer la priorité de la notification.

      Regarde ici, quelqu'un recherchait la même chose que toi.

      Bon courage !

      PS: attention aux spécificités des niveaux d'API.

      • Partager sur Facebook
      • Partager sur Twitter
        12 octobre 2018 à 9:13:06

        merci pour ta réponse, mais en mettant Notification.PRORITY_MAX ce ne change rien. j'ai essaye avec HIGHT aussi, et je n'ai pas la baniere qui descend.
        • Partager sur Facebook
        • Partager sur Twitter
          13 octobre 2018 à 10:45:24

          Salut,

          J'ai essayé pour sur une application en test et ça fonctionne, je te montre le code.

          ...
          
          CHANNEL_ID = "ce_que_tu_veux_et_parlant_pour_toi"
          
          // définir la chaine de notification pour Android 26 et +
          if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
              String name = "Hands up channel";
              String descriptionText = "This channel allows to handle hands up notifications";
              int importance = NotificationManager.IMPORTANCE_HIGH // pour Android 26 et + c'est cette priorité qu'il faut définir
              NotificationChannel channel = NotificationChannel(CHANNEL_ID, name, importance);
              channel.setDescription(descriptionText);
              
              // enregistrement sur le système
              NotificationManager notificationManager =
                      (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE)
              notificationManager.createNotificationChannel(channel)
          }
          
          NotificationCompat.Builder mBuilder = NotificationCompat.Builder(this, CHANNEL_ID)
                  .setSmallIcon(R.mipmap.ic_launcher_round)
                  .setContentTitle("Welcome !!")
                  .setContentText("See the tutorial on the app server")
                  .setDefaults(NotificationCompat.DEFAULT_ALL) // définit l'utilisation d'une alerte sonore et la vibration : caractéristique de la notification "hands up", donc OBLIGATOIRE
                  .setPriority(NotificationCompat.PRIORITY_HIGH) // ou PRIORITY_MAX qui est nécessaire pour indiquer la priorité pour Android 25 et -
          
          // notifie au système la notification à afficher
          NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
          notificationManager.notify(NOTIFICATION_ID, mBuilder.build());
          
          ...
          

          Je pense que ton problème vient de setDefaults().

          Si tu veux le vibreur, il me semble qu'il faut déclarer l'autorisation dans le manifeste.

          -
          Edité par Little Programmer 13 octobre 2018 à 10:47:07

          • Partager sur Facebook
          • Partager sur Twitter

          android - notification

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown