前台服務是哪些被認為使用者知道的並且在記憶體低的時候不允許系統殺死的服務。前台服務必須給狀態列提供乙個通知,他被放到了「正在進行中(ongoing)」標題之下,這就意味著直到這個服務被終止或從前台刪除通知才能被解除。
要讓你的服務在前台執行,需要呼叫startforeground()方法,這個方法需要兩個引數:乙個唯一標識通知的整數和給狀態列的通知,如:
notification notification = new notification(r.drawable.icon, gettext(r.string.ticker_text),
system.currenttimemillis());
intent notificationintent = new intent(this, exampleactivity.class);
pendingintent pendingintent = pendingintent.getactivity(this, 0, notificationintent, 0);
notification.setlatesteventinfo(this, gettext(r.string.notification_title),
gettext(r.string.notification_message), pendingintent);
startforeground(ongoing_notification, notification);
要從前台刪除服務,需要呼叫stopforeground()方法,這個方法需要乙個布林型引數,指示是否刪除狀態列通知。這個方法不終止服務。但是,如果你終止了正在執行的前台服務,那麼通知也會被刪除。
注意:startforeground()和stopforeground()方法是在android2.0(api level 5)中引入的。為了在比較舊的平台版本中執行你的服務,你必須使用以前的setforeground()方法---關於如何提供向後的相容性,請看startforeground()方法文件。
關於通知的更多資訊,請看「建立狀態列通知(creating status bar notifications)」
Android Service簡單總結
分兩種 local service 不少人又稱之為 本地服務 是指client service同處於乙個程序 remote service 又稱之為 遠端服務 一般是指service處於單獨的乙個程序中 remote service 常用的有兩種實現 messenger 信使 使用廣播通訊,serv...
Android Service相關知識
public void oncreate l.d wmodel.time,oncreate耗時 system.currenttimemillis s1 public static string getprocessname context cxt,int pid if procinfo.pid pi...
Android Service 啟動服務
你能夠通過把乙個intent物件 指定要啟動的服務 傳遞給startservice 方法,從乙個activity或其他的應用程式元件啟動服務。android系統呼叫服務的onstartcommand 方法,並且給它傳遞intent物件 你不應該直接呼叫onstartcommand 方法 例如,乙個a...