Android Notification.setLatestEventInfo棄用和Notification.Builder用法


今天在學習小米便簽的源碼的時候,至於源碼的地址,http://m.blog.csdn.net/article/details?id=50544248 ,里面有好多github的開源項目,打開項目,報錯2處,一處就是便是找不到setLatestEventInfo()這個方法,我用的api6.0編譯的,在這個api這個方法時被棄用的,采用Notification.Builder來代替, 
原來的用法:1首先是拿到NotificationManager這個管理類實例,

mNotifiManager = (NotificationManager) mContext
                .getSystemService(Context.NOTIFICATION_SERVICE);
2.創建Notification實例,第一個參數是傳入通知的圖片,第二個是傳入通知的標題,這里采用的getString的方法,順帶一提,getString方法時通過參數tickerId來調用xml文件里的常量,一般這個值為R.String.xxx
Notification notification =new Notification(R.drawable.notification, mContext.getString(tickerId), System.currentTimeMillis())

3調用setLatestEvent(xx),里面有四個參數,分別是context,標題,內容,和pendingIntnet 4個參數

notification.setLatestEventInfo(mContext, mContext.getString(R.string.app_name), content,
                pendingIntent);

4.d調用NotificationManager的notify(xx)方法,接收兩個參數一個id,可用於取消通知的時候用,另一個是Notification的實例

新的:在APi6.0時方法2,和3步驟被棄用,用過Notification.Builder來創建,直接來看官方的提供代碼例程吧`

Notification noti = new Notification.Builder(mContext)
         .setContentTitle("New mail from " + sender.toString())
         .setContentText(subject)
         .setSmallIcon(R.drawable.new_mail)
         .setLargeIcon(aBitmap)
         .build();

他是通過穿件一個Notification.Builder對象,並對這個對象進行設置,然后調用build方法來返回一個Notification對象,最后再執行上述第四個步驟,這里要注意的是,替代setLatestEventInfo(xxx)方法除了上述設置標題和內容,里面還有一個setContentIntent(pendingIntent)來設置點擊通知后調用的Intent,還有其他方法詳見Android官方文檔http://developer.android.com/reference/android/app/Notification.Builder.html

修改:上面谷歌官方文檔需要翻牆才能進,這年谷歌有個中國開發者網站這里


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM