解決方法很簡單,在android項目AndroidManifest.xml文件中的activity中添加如下內容:
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
| VALUE | DESCRIPTION |
| "mcc" | 國際移動用戶識別碼所屬國家代號是改變了----- sim被偵測到了,去更新mcc mcc是移動用戶所屬國家代號 |
| "mnc" | 國際移動用戶識別碼的移動網號碼是改變了------ sim被偵測到了,去更新mnc MNC是移動網號碼,最多由兩位數字組成,用於識別移動用戶所歸屬的移動通信網 |
| "locale" | 地址改變了 |
| "touchscreen" | 觸摸屏是改變了------通常是不會發生的 |
| "keyboard" | 鍵盤發生了改變----例如用戶用了外部的鍵盤 |
| "keyboardHidden" | 鍵盤的可用性發生了改變 |
| "navigation" | 導航發生了變化-----通常也不會發生 |
| "screenLayout" | 屏幕的顯示發生了變化------不同的顯示被激活 |
| "fontScale" | 字體比例發生了變化----選擇了不同的全局字體 |
| "uiMode" | 用戶的模式發生了變化 |
| "orientation" | 屏幕方向改變了 |
| "screenSize" | 屏幕大小改變了 |
| "smallestScreenSize" | 屏幕的物理大小改變了,如:連接到一個外部的屏幕上 |
游戲重新啟動,是因為上述原因發生變化后,導致activity的生命周期重新運行,執行了onCreat()方法。游戲中用不到這么多設置,需要哪個設置哪個就好了。
