簡體   English   中英

保持房間連接

[英]Maintaining room connection

我正在使用新的Google Play游戲服務在Android設備上創建實時多人游戲。 我在游戲進行和基本機制之間進行了溝通。 但是,我現在已經意識到,只要游戲活動剩余,房間就會斷開連接。 這有點讓我擔心,原因如下:

  1. 游戲可能會在手機上播放。 來電肯定會導致電話活動出現,斷開房間,從而斷開游戲
  2. 顯示器可以暫停,也可以斷開連接
  3. 我曾計划在游戲屏幕上顯示廣告。 點擊廣告會與房間/游戲斷開連接

有沒有辦法保持與房間的連接,或者可能重新連接到房間(文件似乎肯定會阻止重新連接),以便允許玩家繼續無縫地繼續游戲,從而允許諸如上述的中斷?

謝謝,羅布

我有同樣的問題,但對我來說,當用戶輪換他們的設備時(活動將被銷毀,以及與Google Play服務的連接)。 我認為我的解決方案也適合你。 在這里回答了我自己的問題:

簡而言之,這是口頭解釋(參見代碼示例的鏈接):

設備方向更改將破壞MainActivity extends BaseGameActivity ,以及您的游戲狀態(即您與Google Play服務的連接)。 但是,我們可以將所有GameHelper代碼放入“無頭”片段(沒有UI的片段),並聲明setRetainInstance(true) 現在,當我們的MainActivity extends FragmentActivity在方向更改時被破壞,無頭片段被停止,甚至分離,但沒有被破壞 (未調用onDestroy() )當Android重新創建MainActivity ,我們的無頭片段會自動重新附加到它上面。 此時,在我們的無頭片段中,不調用onCreate() 所以onCreate()是我們連接到GameHelper的地方。 我們可以在onDestroy()斷開與GameHelper的連接,因為除非應用程序完成(當時可以殺死我們的連接),否則永遠不會調用它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM