天天看點

安卓關于Notification中setLatestEventInfo方法已棄用

今天在更新項目時,把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);