今天在做android 4.3下的前台服務方面的開發時,使用到了notification這個類。使用的過程中發現使用以前的一些例子中用的構造方法和setlatesteventinfo()方法時,eclipse卻出現了警告:「 不建議使用型別 notification 的notification(icon, tickertext, when)構造方法和 setlatesteventinfo(context, charsequence, charsequence, pendingintent)方法」!
經過一番查詢,總結一下notification在各個版本中的用法:
1.低於api level 11版本,也就是android 2.3.3以下的系統中,setlatesteventinfo()函式是唯一的實現方法。
notificationmanager manager = (notificationmanager) getsystemservice(notification_service);
notification notification = new notification(
r.drawable.ic_launcher, "this is ticker text",
system.currenttimemillis());
intent intent = new intent(this, notificationactivity.class);
pendingintent pi = pendingintent.getactivity(this, 0, intent,
pendingintent.flag_cancel_current);
notification.setlatesteventinfo(this, "this is content title",
"this is content text", pi);
manager.notify(1, notification);
2. 高於api level 11,低於api level 16 版本中,可使用notification.builder來建構函式。但要使用getnotification()來使notification實現。此時,前面版本在notification中設定的flags,icon等屬性要在builder裡面設定。
notification.builder builder = new notification.builder(context)
.setautocancel(true)
.setcontenttitle("title")
.setcontenttext("describe")
.setcontentintent(pendingintent)
.setsmallicon(r.drawable.ic_launcher)
.setwhen(system.currenttimemillis())
.setongoing(true);
notification=builder.getnotification();
3.高於api level 16的版本,就可以用builder和build()函式來配套的方便使用notification了。
notification notification = new notification.builder(context)
.setautocancel(true)
.setcontenttitle("title")
.setcontenttext("describe")
.setcontentintent(pendingintent)
.setsmallicon(r.drawable.ic_launcher)
.setwhen(system.currenttimemillis())
.build();
注意:高版本中對應的方法不能在低版本中使用,否則會報類似的版本錯誤:
相應的解決辦法是: 如果把manifest檔案中的user-sdk的android:minsdkversion改為報錯的那個高版本就沒事。比如下面:
iOS檢查App新版本並更新新版本
檢查新版本 更新 第一種方法 檢查新版本 更新 dispatch async dispatch get global queue dispatch queue priority default,0 檢查新版本更新 void showalert void alertview uialertview a...
CowNewSQL發布新版本
cownewsql發布新版本了,這個版本的推出標誌著cownewsql能正式應用於開發實際了。本版更新列表 1 增加了對create table drop table create index和dropindex的支援。2 修改了n多bug,使用從各方收集到的近百條各種複雜的sql語句全面測試通過!...
勇於嘗試新版本
經常能夠在網上看見這樣的問題 我是使用bootstrap 3 還是bootstrap 4 以前的我也是認為老的版本比較穩定。但是自從前一段時間,看見了一種觀點 技術是不斷往前發展的,如果一直使用老版本,那麼就很難有進步。我認為這種觀點很對,新的版本修復了或者說改變了很多以前的問題。而且舊版本的東西很...