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());