Notification notification = new NotificationCompat.Builder(mContext)//使用NotificationCompat.Builder。为了适配API16以下,不使用Notification.Builder。
.setSmallIcon(R.drawable.ic_launcher)//设置小图标,指定ID即可。通知栏没有滑下时屏幕最上方通知栏中的图标。
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.icon))//设置大图标,bitmap对象。通知栏滑下时的通知详情上的图标。(可以不设置,不设置时复用小图标)
.setSound(Uri.parse("android.resource://" + mContext.getPackageName() + "/" + R.raw.reminder2))//设置通知声音,Uri对象。
.setWhen(System.currentTimeMillis())//设置通知时间。
.setTicker("setTicker")//通知栏没有滑下时屏幕最上方显示的通知文本。(第一次通知来的时候会显示,文本过长会自动滚动)
.setContentTitle("setContentTitle")//通知栏滑下时通知详情上的标题文本。
.setContentText("setContentText")//通知栏滑下时通知详情上的内容文本,比标题文本字体要小,字体颜色要淡。
.setSubText("setSubText")//通知栏滑下时通知详情上的副内容文本,字体更小,字体颜色看不出明显差距。
.setAutoCancel(true)//设置点击跳转后该通知是否自动消失。
.setContentIntent(PendingIntent.getActivity(mContext, 0, new Intent(mContext, MainTabActivity.class), Intent.FLAG_ACTIVITY_SINGLE_TOP))//设置点击跳转的Intent。
.build();//构建。
// 用NotificationManager的notify方法通知系统生成标题栏消息通知
((NotificationManager) mContext.getSystemService(Context.NOTIFICATION_SERVICE)).notify(1, notification);
PS:Android6.0系统中,通知栏图标建议使用alpha图片。大概意思就是没有背景色性质的图标。使用RGB图片会出现无法显示色彩的情况。但并不是一定的,我本人用的PLK-UL00手机,Android6.0,EMUI4.0.1,依然可以使用RGB图片。