android组通知显示最后一个通知而不是第一个通知
我正在尝试像whatsapp一样实现组通知。但这里的问题是前6个通知对用户可见。如何显示最后6个通知而不是第一个通知 相同的PFB演示代码:android组通知显示最后一个通知而不是第一个通知,android,android-notifications,Android,Android Notifications,我正在尝试像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 a
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());
}
}
使用字符串数组存储新通知消息。
每次生成新通知时,取消通知并
从列表末尾向通知生成器添加消息。
我试过了,成功了
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());
}
我可以看到通知即将到来,但一旦我打开通知托盘,它就不可见了。如何在此情况下处理自定义远程视图?基本上,我需要在通知末尾添加一行,向用户显示消息,就像您已收到10条消息一样。您指的是通知折叠时的文本?setContentText用于此目的。否anidita我的意思是,如果我在您提供的代码中使用远程视图,我可以看到最后7个通知,但在该远程视图中,由于空间不足,无法显示整个布局