Android自定义通知栏,在4.0以上版本更改通知了的加载方式,需要兼容4.0上下版本
private static CharSequence TICKERTEXT = "TEST";
private long when;
Notification notification;
NotificationManager mNotificationManager;
Intent notificationIntent;
PendingIntent contentIntent;
Context contextIntent;
Notification.Builder builder;
@SuppressWarnings("deprecation")
private void showMsg(CharSequence contentTitle, CharSequence contentText) {
try {
contextIntent = Application.getInstance().getApplicationContext();
builder = new Notification.Builder(contextIntent);//新建Notification.Builder对象
notificationIntent = new Intent(contextIntent, TextActivity.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
contentIntent = PendingIntent.getActivity(contextIntent, 0, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
mNotificationManager = (NotificationManager) contextIntent.getSystemService(Context.NOTIFICATION_SERVICE);
when = System.currentTimeMillis();
builder.setContentTitle(contentTitle);//tiitle
builder.setContentText(contentText);//文本
builder.setSmallIcon(R.drawable.app_icon);//icon
builder.setContentIntent(contentIntent);//跳转
builder.setTicker(TICKERTEXT);//提示消息
builder.setWhen(when);//时间
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN)
notification = builder.build();
else
notification = builder.getNotification();
notification.flags = Notification.FLAG_AUTO_CANCEL;
notification.defaults = Notification.DEFAULT_SOUND;
mNotificationManager.notify(1, notification);
} catch (Exception e) {
e.printStackTrace();
}
}