APP開發實戰69 前台服務

2021-07-14 01:12:54 字數 919 閱讀 8039

前台服務是被認為是使用者已知的正在執行的服務,當系統需要釋放記憶體時不會優先殺掉該程序。前台程序必須發乙個 notification 在狀態列中顯示,直到程序被殺死。

因為前台服務會一直消耗一部分資源,但不像一般服務那樣會在需要的時候被殺掉,所以為了能節約資源,保護電池壽命,一定要在建前台服務的時候發notification ,提示使用者。當然,系統提供的方法就是必須有 notification 引數的,所以不要想著怎麼把 notification 隱藏掉。

@override

publicint onstartcommand(intent intent, int flags, int startid) {

// todo auto-generated method stub

intent notificationintent = new intent(this,mainactivity.class);

pendingintent pendingintent =pendingintent.getactivity(this, 0, notificationintent, 0);

notification noti = newnotification.builder(this)

.setcontenttitle("title")

.setcontenttext("message")

.setsmallicon(r.drawable.ic_launcher)

.setcontentintent(pendingintent)

.build();

startforeground(12346, noti);

return service.start_sticky;

startforeground() 方法就是將服務設為前台服務,引數12346就是這個通知唯一的id,只要不為0即可。

(**:

zabbix後台服務與前台服務的分離

zabbix安裝 將zabbixserver mysql端與php apache分離 在usr路徑下建立了software資料夾,放入net snmp msyql zabbix 三個tar檔案 1.安裝net snmp包 為zabbix提供snmp支援,建議直接安裝,不要指定路徑,好處在後面安裝za...

安卓前台服務和後台服務的區別

類別 區別 應用前台服務 會在通知一欄顯示 ongoing 的 notification,後台服務 預設的服務即為後台服務,即不會在通知一欄顯示 ongoing 的 notification。當服務被終止的時候,使用者是看不到效果的。某些不需要執行或終止提示的服務,如天氣更新,日期同步,郵件同步等。...

Service傳送前台服務以及通知

1,介紹 前台服務被認為是使用者主動意識到的一種服務,因此在記憶體不足時,系統也不會考慮將其終止。前台服務必須為狀態列提供通知,狀態列位於 正在進行 標題下方,這意味著除非服務停止或從前台刪除,否則不能清除通知。如果需要設定服務執行於前台,我們該如何才能實現呢?android官方給我們提供了兩個方法...