前日,一小伙伴問我一個問題,說它解決了半天都沒解決這個問題,截圖如下:

平面設(shè)計培訓(xùn),網(wǎng)頁設(shè)計培訓(xùn),美工培訓(xùn),游戲開發(fā),動畫培訓(xùn)

 

大概樓主理解如下:

如果在應(yīng)用中有一個判斷wifi的開關(guān)和一個當(dāng)前音量大小的seekbar以及一個獲取當(dāng)前電量多少的按鈕,想知道如果按home鍵后調(diào)整了wifi開關(guān)信息以及媒體音量信息,再切換到前臺UI如何才會實時刷新。其實這個問題不難解決,如果你了解activity的生命周期,只需要把設(shè)置開關(guān)和seekbar的信息放在onResume中就好了,因為無論是鎖屏后打開或者是切換后臺再前臺都是會調(diào)用onResume的。但不由得滋生一個問題,大家都知道APP在前臺的情況下用戶依然是可以下拉狀態(tài)欄設(shè)置Wifi開關(guān)信息的,對于音量信息也是可以側(cè)邊增減,那APP一直在前臺,生命周期明顯是無法實時更新了,那我們應(yīng)該如何解決呢?沒錯,沒當(dāng)改變系統(tǒng)屬性的時候,都會發(fā)出系統(tǒng)廣播,我們只需要去寫一個接收器,并根據(jù)它做響應(yīng)的操作就好了。

 

分析至此,樓主就把給這位小伙伴寫的一些代碼分享給大家,也可以幫助不太熟悉的小伙伴更加了解android的廣播以及回調(diào)機制。對于還不太明白java的回調(diào)是什么意思的小伙伴,也可以看看。

 

網(wǎng)友評論