0

我有保持導航菜單3個片段的活性:如何使用片段工作與藍牙

1)家庭(與信道改變和音量改變按鈕) 2)藍牙連接(與外部連接藍牙設備) 3)設置(更改藍牙設備靜噪的搜索欄)

當應用程序打開時,所有導航按鈕都可以在打開單個片段時使用。

當我轉到藍牙連接片段後,該連接片段將我轉到手機的設置以設置與外部藍牙設備的藍牙連接,然後該應用程序會將您帶到Home片段。

主頁片段中的所有按鈕(通道和音量更改按鈕)都與外部設備交互(燈閃爍以顯示交互)。但是,在與按鈕交互之後,其他片段(設置片段和藍牙片段)的導航按鈕不起作用(片段不會出現/拉出)。

此外,另一個錯誤是,如果我打開應用程序並轉到設置片段,Home部分中的按鈕(通道和音量更改按鈕,外部藍牙設備中的指示燈不起作用)不行。

UPDATE

好了,一個有趣的觀察,我發現的是,在3靜噪按鈕)設置片段也適用,如果我沒上過1)家庭片段最初並直奔設置片段。

我正在試驗使用Activity而不是Fragment構建的原型,並且如果我在不關閉連接的情況下在活動之間切換,則表明藍牙連接斷開方面類似的行爲。

這使我相信,當我在片段之間切換時,連接不能正常關閉,因此渲染按鈕不起作用(外部設備不閃爍)。

問題 - 在視圖不可見的情況下,如何關閉連接?

謝謝!

請指教。

回答

0

我不能直接說出你所描述的所有問題,但我會說在過去,當我沒有考慮到工作流程時,我也遇到了使用碎片的行爲問題。具體而言,您需要確保您正在使用的片段管理器處理片段轉換,既知道您片段堆棧中的位置(您應該是)以及您的後臺堆棧中應該包含哪些項目。

例如,我碰到的一個問題是設備旋轉,我沒有正確處理,導致我的活動/片段被重新創建,這反過來弄亂了我的片段堆棧。當使用後退按鈕瀏覽應用程序時(例如UI元素沒有正確響應)或出現應用程序不應該出現時,這會導致出現奇怪現象。

我不知道你的碎片和手機設置之間的移動如何可能會對你產生負面影響,但總的來說,重要的是你跟蹤你的savedInstanceStates和onResult(如果相關),當你離開你的應用或導致活動重啓。

0

我有我的應用程序工作,我想要的方式。

我在做什麼,是打開一個新的藍牙連接,每次一個新片段打開,所以我懷疑每個連接都彼此衝突的,如果我沒有正確關閉它的觀點變化。

我做了什麼來解決它的活動打開時打開了一個單一的,全球藍牙連接,讓單個片段訪問藍牙連接變量。

謝謝。