我正在与一个新团队合作开展一个大型项目,并且已被要求添加通知,以便在满足某些条件时显示,但我无法让它们显示。
这是我现在的代码,省略了不相关的代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
this.context = container.getContext();
view = inflater.inflate(R.layout.module_menu, container, false);
this.initNotify("TITLE","Message");
return view;
}
private void initNotify(String title, String message) {
NotificationCompat.Builder b = new NotificationCompat.Builder(context)
.setAutoCancel(true)
.setOngoing(false)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(title)
.setContentText(message)
.setFullScreenIntent(PendingIntent.getActivity(context, 1, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT), true)
.setStyle(new NotificationCompat.BigTextStyle());
NotificationManager nm = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
nm.notify(1, b.build());
}
它所在的类是由我的主要活动调用的片段。代码在放入新应用程序时运行,没有任何问题,并正确显示通知,但拒绝使用此特定项目。最低API为8。
是否有任何我可能遗漏的内容或任何可能阻止我显示通知的片段?
此外,该应用程序是否可能会抑制"显示通知,如果是,我应该寻找什么代码?
答案 0 :(得分:0)
我是因为您将通知ID设置为常量nm.notify(1, b.build());
。要显示所有通知,您必须使用动态值。
像这样
private void initNotify(String title, String message,int id) {
NotificationCompat.Builder b = new NotificationCompat.Builder(context)
.setAutoCancel(true)
.setOngoing(false)
.setSmallIcon(R.drawable.ic_launcher)
.setContentTitle(title)
.setContentText(message)
.setFullScreenIntent(PendingIntent.getActivity(context, 1, new Intent(), PendingIntent.FLAG_UPDATE_CURRENT), true)
.setStyle(new NotificationCompat.BigTextStyle());
NotificationManager nm = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
nm.notify(id, b.build());
}
并将通知设置为(示例)
for(int i=0;i<10;i++){
initNotify("title", "message",i);
}
答案 1 :(得分:0)
我试过你的代码。我的机器还可以。
您是否有通知权限?