2013-01-02

【Android】Notification.Builder 與 NotificationCompat.Builder

review 之前寫過的 app,想將程式碼優化,赫然發現 Notification 那一段的程式碼被標上了刪除線!!


上官網查了一下,原來是這個建構式將被停用,Android 開發團隊建議改寫為 Notification.Builder


於是照著 Notification.Builder 的範例試做,但不管怎麼寫,最後的 build() 總是被畫紅線,表示有錯。


試了好久,得到的結論是,app 的 AndroidManifest.xml 內的 uses-sdk 這部份,android:minSdkVersion 和 android:targetSdkVersion 都要在 API level 16 以上,且功能表 Project → Properties Android Project Build Target 也要在 16 以上,換句話說您的 app 目標裝置是針對 JellyBean 以上才要以這種方式撰寫(您可以針對這 3 個部份的值交叉變換驗證);不過在現階段全球 Android 版本以 2.3.x 為大宗的環境下,暫時不用改成這種寫法。

Android 團隊可能也發現這個寫法在現階段有難度,所以貼心地推出了另一種寫法 NotificationCompat.Builder,看起來基本上差不了多少,就是採用的 build 類別不同。