android startForeground去除通知欄

首先寫(xiě)一個(gè)BootstartService,顧名思義,這個(gè)service只是起引導(dǎo)作用,干完活就退出了。最精華的部分其實(shí)就是這句stopSelf(),說(shuō)白了這個(gè)service其實(shí)還沒(méi)起起來(lái)就被停掉了,這樣onDestroy()里就會(huì)調(diào)用stopForeground(),通知欄的常駐通知就會(huì)被消掉。

public class BootstartService extends Service {  
    @Override  
    public void onCreate() {  
        super.onCreate();  
        startForeground(this);  
        // stop self to clear the notification  
        stopSelf();  
    }  
  
    @Override  
    public void onDestroy() {  
        super.onDestroy();  
        stopForeground(true);  
    }  
  
    public static void startForeground(Service context) {  
        context.startForeground(8888, new Notification());  
    }  
}  

接下來(lái)寫(xiě)我們的主service,主service會(huì)先調(diào)用一次startForeground(),然后再啟動(dòng)BootstartService。

public class MainService extends Service {  
    @Override  
    public void onCreate() {  
        super.onCreate();  
        BootstrapService.startForeground(this);  
        // start BootstartService to remove notification  
        Intent intent = new Intent(this, BootstartService.class);  
        startService(intent);  
    }  
  
    @Override  
    public void onDestroy() {  
        super.onDestroy();  
        stopForeground(true);  
    }  
}  

看到這里大家應(yīng)該已經(jīng)明白了,說(shuō)白了就是兩個(gè)service共用一個(gè)notification ID,第一個(gè)service起來(lái)的時(shí)候會(huì)顯示通知欄,然后第二個(gè)service停掉的時(shí)候去除通知欄。

參考文章

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 如何能讓我們的應(yīng)用能夠在系統(tǒng)后臺(tái)持續(xù)地運(yùn)行是一個(gè)自Android從娘胎里出來(lái)時(shí)就議論不停的話題,而且這似乎成了一個(gè)...
    駿駿的簡(jiǎn)書(shū)閱讀 1,180評(píng)論 1 19
  • Service的生命周期 service的生命周期,從它被創(chuàng)建開(kāi)始,到它被銷(xiāo)毀為止,可以有兩條不同的路徑: A s...
    _執(zhí)_念__閱讀 1,630評(píng)論 0 19
  • 參考: 服務(wù)|Android Developers 一. 什么是服務(wù) 服務(wù)是一個(gè)可以在后臺(tái)執(zhí)行長(zhǎng)時(shí)間運(yùn)行操作而不提...
    NickelFox閱讀 600評(píng)論 0 3
  • 轉(zhuǎn)載注明出處:http://www.itdecent.cn/p/a1d3d9693e91 1. 簡(jiǎn)介 與前一篇An...
    王三的貓阿德閱讀 2,297評(píng)論 1 9
  • 前言:本文所寫(xiě)的是博主的個(gè)人見(jiàn)解,如有錯(cuò)誤或者不恰當(dāng)之處,歡迎私信博主,加以改正!原文鏈接,demo鏈接 Serv...
    PassersHowe閱讀 1,512評(píng)論 0 5

友情鏈接更多精彩內(nèi)容