我正在使用FCM进行推送通知,下面是我生成通知的代码:
Intent intent = new Intent(this, HomeActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent,
PendingIntent.FLAG_ONE_SHOT);
Notification.Builder notification;
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
notification = new Notification.Builder(this);
} else {
notification = new Notification.Builder(this);
notification.setColor(getResources().getColor(R.color.sysTransparent));
}
notification.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle("Notification Title")
.setContentText("This is notification body")
.setAutoCancel(true)
.setContentIntent(pendingIntent);
NotificationManager notificationManager =
(NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(0, notification.build());
有谁知道如何去除多余的白色?
答案 0 :(得分:0)
尝试这个,它对我有用
protected void displayNotification(Context context, String[] strContent) {
try {
int numMessages = 0;
/* Invoking the default notification service */
NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this);
mBuilder.setContentTitle("New "+strContent[0].trim());
mBuilder.setContentText("You've received new "+strContent[0].trim());
mBuilder.setTicker("New "+strContent[0].trim()+" Alert!");
mBuilder.setSmallIcon(R.drawable.ic_notif);
mBuilder.setAutoCancel(true);
mBuilder.setColor(context.getResources().getColor(R.color.ColorPrimary));
mBuilder.setVisibility(Notification.VISIBILITY_PUBLIC);
mBuilder.setDefaults(Notification.DEFAULT_ALL);
mBuilder.setVibrate(new long[] {1000, 1000, 1000, 1000, 1000});
mBuilder.setLights(Color.RED, 3000, 3000);
mBuilder.setNumber(++numMessages);
NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
String[] events = new String[strContent.length-1];
for(int i=0; i<strContent.length-1; i++){
events[i] = new String(strContent[i+1].trim());
}
inboxStyle.setBigContentTitle("New "+strContent[0].trim()+" received!");
for (int i=0; i < events.length; i++) {
inboxStyle.addLine(events[i]);
}
mBuilder.setStyle(inboxStyle);
/* Creates an explicit intent for an Activity in your app */
Intent resultIntent = new Intent(this, HomeActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(HomeActivity.class);
/* Adds the Intent that starts the Activity to the top of the stack */
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
/* notificationID allows you to update the notification later on. */
mNotificationManager.notify(9999, mBuilder.build());
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}