android fm模块学习,AndroidFM模块学习之5关闭FM流程
AndroidFM模塊學習之五關閉FM流程
前一陣子簡單描述了一些關于FM開啟、錄音和搜索的流程,淺析了一下各個類的源碼,接下來就是關閉FM了,FM模塊的學習就告一段落了,希望這陣子的整理能對大家在FM的了解上有一定幫助,如果大家在修改FM模塊的上層代碼時遇到了問題或BUG,可以留言,我們共同來處理。
FM關閉有兩種方式,一種是拔出耳機,FM關閉,另一種是按關閉按鈕。
請看第一種方式:
流程圖:
FmRadioService類中,用戶直接拔出耳機會接收到一個,耳機拔出廣播Intent.ACTION_HEADSET_PLUG當耳機被拔出后 mHeadsetPlugged =(intent.getIntExtra("state", 0) == 1); 取零。然后使用mHandler.post(mHeadsetPluginHandler);刷新耳機狀態。調用fmOff();fmOff()調用stopFM()方法關閉fm接收的信號設備,調用FMRecevice的disable()方法關閉調頻裝置。調用mCallbacks.onDisabled();IFMRadioServiceCallbacks中的onDisabled()發一個handler,mHandler.post(mRadioDisabled);關閉FMRadio的UI狀態等
cleanupTimeoutHandler();endSleepTimer();stopRecording();cancelSearch();enableRadioOnOffUI(false);
接下來請看第二種方式:
流程圖:
當在FMRadio類界面手動關閉fm點擊關閉按鈕的時候,通過mOnOffButton監聽在回調方法mTurnOnOffClickListener中當fm播放的時候就可以手動關閉,通過發送handler mDisableRadioTask回調方法。mDisableRadioTask中調用disableRadio();方法。通過繼承存根類的類的引用調用FMRadioService中的fmOff();(mService.fmOff();),fmOff()調用stopFM()方法關閉fm接收的信號設備,調用FMRecevice的disable()方法關閉調頻裝置,調用enableRadioOnOffUI();更改FMRadio
UI界面狀態。
總結
以上是生活随笔為你收集整理的android fm模块学习,AndroidFM模块学习之5关闭FM流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为鸿蒙os再见了安卓,再见了安卓!华为
- 下一篇: xamarin跳转html,Xamari