2016-08-25 11 views
2

whatsアプリケーションとgmail通知を監視すると、新しいものを作成せずに既存の通知が自動的に更新されます。 これをどうすれば実現できますか? enter image description hereAndroidのWhatspp、Gmailなどの通知バーにある既存の通知の更新コンテンツ

私は上記image.Soでのように一つの通知を作成した通知は、その時点で作成する場合

  • は、4件のメッセージがありますがあります。

  • ですから、5番目のメッセージを受け取ったら、イメージに示されているような既存の通知の内容を赤色で追加する必要があります。

アプリのようGmailで使用されている方法を私に提案してください?

これをどのように達成できますか?ここで

+0

https://developer.android.com/training/noti fy-user/managing.htmlは「アンドロイド更新通知」をグーグルで見つけました。 Googleを試してみてください。それはかなりクールです。 –

+0

@TimCastelijns上記のURLで同じ通知IDの言及を使用して実装しようとしましたが、古いメッセージは削除されます –

+0

通知コンテンツには5番目のメッセージしか表示されません他のすべてのメッセージはコンテンツから削除されました –

答えて

1

下記のリンクと私の問題を解決

Update text of notification, not entire notification

は私のコードは次のとおりです。 -

 PendingIntent pendingIntent = PendingIntent.getBroadcast(objContext, (int) (Math.random() * 100), intent, PendingIntent.FLAG_CANCEL_CURRENT); 
     NotificationManager manager = (NotificationManager) objContext.getSystemService(Context.NOTIFICATION_SERVICE); 
     if (firstTime) { 
      intCount++; 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
       inboxStyle = new Notification.InboxStyle(); 
      } 
      Bitmap icon = BitmapFactory.decodeResource(objContext.getResources(), R.drawable.ic_launcher); 
//   Notification.Builder builder = new Notification.Builder(objContext); 
      builder = new Notification.Builder(objContext); 
      builder.setAutoCancel(true); 
      builder.setContentTitle("Studyboard"); 
      builder.setDefaults(Notification.DEFAULT_ALL); 
      builder.setSmallIcon(R.drawable.ic_launcher_transparent_s); 
      builder.setLargeIcon(icon); 
      builder.setWhen(Calendar.getInstance().getTimeInMillis()); 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
       builder.setStyle(inboxStyle); 
      } 
      builder.setOngoing(false); 
      builder.setContentIntent(pendingIntent); 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
       builder.build(); 

       inboxStyle.addLine(senderFullName + " : " + strDisplayMsg); 
       inboxStyle.setSummaryText(""); 
      } 
      System.out.println("Creating New Notification"); 
      Notification myNotication = builder.getNotification(); 
      manager.notify("Example", 12345, myNotication); 
      firstTime = false; 

     } else { 
      intCount++; 
      builder.setWhen(Calendar.getInstance().getTimeInMillis()); 
      System.out.println("Not Creating"); 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
       builder.setStyle(inboxStyle); 
      } 
      if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { 
       if (intCount <= 3) 
        inboxStyle.addLine(senderFullName + " : " + strDisplayMsg); 
       if (intCount > 3 && intCount - 3 > 0) 
        inboxStyle.setSummaryText("+" + (intCount - 3) + " more messages"); 
      } 
      Notification myNotication = builder.getNotification(); 
      manager.notify("Example", 12345, myNotication); 
     } 

そして次の実行がアクションをキャッチしたフラグをリセットし、放送受信機でカウントについて通知のため

+0

ありがとうございます。これは私のために働く。 – BK19

+0

あなたは[この1](http://stackoverflow.com/questions/41213711/android-changing-notifications-contenttext-on-a-button-click)で私を助けることができますか? –

+0

@SígvardrÓlavrsson 'inboxStyle.addLine()'関数は、通知コンテンツを更新するのに役立ちます。 –

関連する問題