3.0以上系统中Notification 的setLatestEventInfo已经不推荐使用了,所以用Notification.Builder改造了一下:
显示通知栏
NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
public void setNotification() {
PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
new Intent("com.android.XXX.XXX")
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK), 0);
Builder builder = new Notification.Builder(this);
builder.setContentIntent(contentIntent)
.setSmallIcon(R.drawable.XXX)
.setWhen(System.currentTimeMillis()).setAutoCancel(false)
.setContentTitle(statusContentTitle).setContentText(statusContentContext);
startForeground(XXX, builder.getNotification());
nm.notify(1, notification);
}
隐藏通知栏
public void closeNotification() {
if (nm != null) {
nm.cancel(1);
}
}