的期望的行爲是這樣的:與PhoneGap的旋轉Android設備崩潰
在旋轉的佈局被重建 - 以適應新的屏幕大小。重建是用JQuery和數學 - 而不是CSS完成的。
腳本狀態必須保持不變,同時運行計時器等等。這些應該像沒有任何事情發生一樣繼續。在清單中的所有活動,以處理方向改變自己(注| configChanges =「keyboardHidden方向」:我
爲了實現這個我做了這個:
將機器人m沒有針對某些API,所以我想它默認爲API 1.這意味着將screenSize添加到configChanges是不必要的)。
增加對orientationchange收聽者:
window.onorientationchange =函數(){ VAR取向= window.orientation; switch(orientation){ case 0: updateScaling(); 休息;
case 90: updateScaling(); break; case -90: updateScaling(); break; } }
updateScaling只調整佈局。
這有時會起作用,但有時會導致設備崩潰(仿真器以及真實設備)。在模擬器的日誌中,我看到以下警告:
WARN/ActivityManager(73):啓動超時已過期,放棄喚醒鎖!
我做了研究,發現添加較長loadUrlTimeoutValue的活動可以幫助,和好,我加super.setIntegerProperty(「loadUrlTimeoutValue」,60000);到主要活動,但如預期也沒有幫助。
我發現很多人抱怨PhoneGap的旋轉問題。也許框架只是在這方面的越野車?我也用蘋果設備進行測試,在那裏我甚至無法捕捉旋轉事件 - iPhone模擬器甚至沒有改變方向,iPad改變了它,但事件處理程序沒有被調用,並且佈局保持相同的大小。我嘗試使用一種解決方法,我發現附加一個偵聽器到文檔。但它也沒有幫助。
旋轉設備時是否有完全可靠的方法來重建佈局?如果沒有,我可以禁用應用程序初始化後的旋轉(也就是說,我不想修復縱向或橫向 - 我希望應用程序在使用當前初始化後禁用旋轉更改)。有沒有可靠的方法來做到這一點?
感謝