今天在更新項目時,把API版本向上更新到25,編譯時發現報了一個錯誤,但是一臉懵逼,後來查了資料才知道在6.0之後setLatestEventInfo方法已被google棄用,為了項目的健全性,無奈隻能尋找替代方法。
在6.0之前,使用notification我們一般會這樣寫
NotificationManager manager= (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification=new Notification(R.drawable.icon_notification,"标題", System.currentTimeMillis());
notification.setLatestEventInfo(context,"标題",pushInfo,null);
manager.notify(R.drawable.icon_notification,notification);
這樣完成一個工作列消息提示原版很正常,但是今天把API版本提升為25之後,編譯時這段代碼報錯,提示setLatestEventInfo方法被棄用,那解決方案其實很簡單,我就不過多的文字贅述了,直接貼上代碼。
6.0之後如下編寫
NotificationManager nm = (NotificationManager) this.getSystemService(Context.NOTIFICATION_SERVICE);
//
Notification notification = new Notification.Builder(this)
.setContentTitle("标題")
.setContentText("内容")
.setSmallIcon(R.mipmap.ic_launcher)
// .setLargeIcon(mBitmap)
.build();
nm.notify(1,notification);