要求:設(shè)置一個android應(yīng)用程序開機啟動一個服務(wù),此服務(wù)用來監(jiān)聽情景模式的切換。
首先要知道在android中開機啟動程序是通過廣播機制實現(xiàn)的,在android手機啟動完成之后,系統(tǒng)會發(fā)送一個名叫 android.intent.action.BOOT_COMPLETED 的廣播,所以我們只要在程序中接收這個廣播,然后啟動一個后臺服務(wù),就會實現(xiàn)程序一開機即啟動。
對于監(jiān)聽情景模式的切換,android手機跟其他手機不太一樣,沒有那些諸如會議模式、戶外模式、自定義模式等那么多的模式。系統(tǒng)內(nèi)置的只有正常模式跟靜音模式兩種可選,而且是長按關(guān)機按鈕才出現(xiàn)的。如下圖:
一開始我以為系統(tǒng)也應(yīng)該會發(fā)送一個廣播,但是找了很多資料沒找著。后來我從王濤那學(xué)到了一個不錯的技巧。假設(shè)你現(xiàn)在不知道系統(tǒng)到底會不會發(fā)情景模式切換的廣播,而且找了很多資料也沒有涉及諸如此類的問題,那么現(xiàn)在你可以從LogCat中查看日志文件。在我點擊上圖中靜音模式切換的按鈕時,會得到如下日志:
很明顯,系統(tǒng)是發(fā)了廣播的。所以我們同樣只要在程序中接收這個廣播就OK了。
Demo代碼如下:
MainActivity:
BroadcastReceiver:
BackgroundService:
AndroidManifest.xml:
以上代碼開機啟動測試成功,查看后臺運行的服務(wù)(Boot_Complete):
進行模式切換監(jiān)聽也是OK的:
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
