android studio sdk 升级到23后 setLatestEventInfo被完全弃用api11 之前的机型可以使用v4包下的NotificationCompat实现
1 import android.support.v4.app.NotificationCompat;
2 NotificationManager mManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
3
4 NotificationCompat.Builder notifyBuilder;
5
6 Intent resultIntent = new Intent(this, MainActivity.class);
7 resultIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
8
9 PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
10
11 Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.icon);
12 notifyBuilder = new NotificationCompat.Builder(this)
13 .setLargeIcon(bitmap)/*设置large icon*/
14 .setSmallIcon(R.drawable.icon)/*设置small icon*/
15 .setContentTitle("通知")/*设置title*/
16 .setContentText("有新的通知")/*设置详细文本*/
17 .setWhen(System.currentTimeMillis())/*设置发出通知的时间为发出通知时的系统时间*/
18 .setTicker("有新的通知")/*设置发出通知时在status bar进行提醒*/
19 .setOngoing(true)/*setOngoing(boolean)设为true,notification将无法通过左右滑动的方式清除 * 可用于添加常驻通知,必须调用cancle方法来清除 */
20 .setAutoCancel(true)/*设置点击后通知消失*/
21 .setNumber(2)/*设置通知数量的显示类似于QQ那种,用于通知的合并*/
22 .setContentIntent(pendingIntent);/*点击跳转到MainActivity*/
23 mManager.notify(0, notifyBuilder.build());