2017-01-13 6 views
0

私はwhatsappのようなグループ通知を実装しようとしています。しかしここでの問題は、最初の6通知がユーザーに見えることです。最初の通知ではなく最後の6つの通知を表示するにはどうすればいいですか?アンドロイドグループ通知は、最初の通知ではなく最後の通知を表示します

同じのためのPFBのデモコード:

import android.app.Notification; 
import android.app.NotificationManager; 
import android.os.Build; 
import android.os.Bundle; 
import android.support.annotation.RequiresApi; 
import android.support.v7.app.AppCompatActivity; 

import static android.R.attr.value; 

@RequiresApi(api = Build.VERSION_CODES.JELLY_BEAN) 
public class MainActivity extends AppCompatActivity { 
    Notification.InboxStyle inboxStyle = new Notification.InboxStyle(); 
    private final int NOTIFICATION_ID = 237; 
    private static int NOTIFICATION_ID1 = 237; 

    final static String GROUP_KEY_EMAILS = "group_key_emails"; 

    static int i=0; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 
     send(++i+""); 

    } 


    public void send(String message) 
    { 
     NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
     Notification.Builder builder = new Notification.Builder(this); 
     builder.setContentTitle(message+"Lanes"); 
     builder.setContentText(message+"Notification from Lanes"+value); 
     builder.setSmallIcon(R.mipmap.ic_launcher); 
     builder.setAutoCancel(true); 
     inboxStyle.setBigContentTitle(message+"Enter Content Text"); 
     inboxStyle.addLine(message+"hi events "+value); 
     builder.setStyle(inboxStyle); 
     nManager.notify("App Name",NOTIFICATION_ID ,builder.build()); 

    } 



} 

答えて

1

enter image description hereは、新たな通知メッセージを格納する文字列配列を使用してください。
新しい通知が生成されるたびに通知をキャンセルし、 メッセージを通知ビルダにリストの末尾から追加します。
私はこれを試して、それは働いた!ヌガーで働いていない

private final int NOTIFICATION_ID = 237; 
ArrayList<String> notificationText = new ArrayList<>(); 
Notification.InboxStyle inboxStyle ; 

static int i=0; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 
    send(++i+""); 

} 


public void send(String message) 
{ 
    notificationText.add(message); 
    NotificationManager nManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE); 
    nManager.cancelAll(); 

    Notification.Builder builder = new Notification.Builder(this); 
    inboxStyle = new Notification.InboxStyle(); 
    builder.setContentTitle(message+"Lanes"); 
    builder.setContentText(message+"Notification from Lanes"+value); 
    builder.setSmallIcon(R.mipmap.ic_launcher); 
    builder.setAutoCancel(true); 
    inboxStyle.setBigContentTitle(message+"Enter Content Text"); 
    for(int i=notificationText.size()-1;i>=0;i--){ 
     inboxStyle.addLine(notificationText.get(i)+"hi events "+value); 
    } 
    builder.setStyle(inboxStyle); 
    nManager.notify("App Name",NOTIFICATION_ID ,builder.build()); 

} 
+0

uはこれをチェックすることができ、私はnotficationが来たが、すぐに私は通知を開いている見ることができる –

+0

は、私はちょうどヌガーをチェックし、それが正常に動作します –

+0

がその目に見えないトレイ。 –

関連する問題