當我按下Droid上的睡眠按鈕時,我的活動的oncreate被調用。爲什麼會發生?爲什麼操作系統要在設備進入睡眠狀態時調用OnCreate?有什麼辦法可以阻止它,或者至少知道這是因爲手機進入了睡眠狀態?當手機進入睡眠狀態時,OnCreate調用
回答
這種情況特別發生在鎖定旋轉的活動中,例如,有這樣的活動標籤內的清單:
android:screenOrientation="portrait"
當你關閉屏幕時,它讀取加速計確定關閉前的真正方向和改變了這一點。
所以,是的,簡單的解決方案是增加configChanges爲好,使得它看起來是這樣的:
<activity
android:name=".MyActivity"
android:screenOrientation="landscape"
android:configChanges="orientation"
/>
你不需要指示screenOrientation,但如果你不這樣做是什麼方向在什麼時候啓動它將停留在哪裏,除非你編寫代碼來處理配置更改。
作爲一個方面說明,當我開始在ICS上測試我的應用程序時,我不得不在一些活動開始時處理一些創建/銷燬/創建週期的怪癖。必須進行一些額外的檢查和平衡才能使代碼具有通用性。
關於ICS如何工作,您還有更多的信息嗎?在運行2.3.3和4.0.4的設備上遇到此問題。您的解決方案適用於我的2.3.3設備,但onCreate()在睡眠4.0.4後仍然被調用。 – 2013-06-04 12:51:43
問題可能是設備對鎖定屏幕有硬編碼的方向。要測試這一點,請將鎖定方向設置爲相反方向(可能爲人像)。這可能會讓額外的onCreate消失,併爲您找到如何消除不相關的定位更改的出發點。 – ProjectJourneyman 2013-06-09 17:37:49
謝謝。你是對的。我發現了一個解決方案,通過將screenSize添加到configChanges中,比如'android:configChanges =「orientation | screenSize」'。從文檔:「注意:如果您的應用程序的目標API級別爲13或更高(由minSdkVersion和targetSdkVersion屬性聲明),則還應該聲明」screenSize「配置,因爲當設備在縱向和橫向之間切換時它也會發生更改方向「。 – 2013-06-11 09:08:24
我有相同的概率,只要它來自睡眠
這裏我做了什麼來解決這個問題
我的應用程序(遊戲)重載我添加
<activity
android:configChanges="orientation|screenSize"
/>
希望這會幫助別人!
這對我有用。謝謝 – RJB 2017-04-22 20:42:04
- 1. 當手機進入睡眠狀態時,Handler.sendMessageDelayed()是否工作?
- 2. 當手機進入睡眠狀態時,無法獲取android活動
- 3. 當手機進入睡眠狀態時,Handler,CountDownTimer和Timer不工作
- 4. As3 - 如何讓手機進入睡眠狀態?
- 5. 設備何時進入睡眠狀態?
- 6. 手機進入睡眠狀態並保存歷史時完成應用程序
- 7. 當設備進入睡眠狀態時寫入coredata?
- 8. android如何在手機進入睡眠狀態時處理android定時器
- 9. 當手機進入睡眠模式時,調用哪種方法與最小化然後進入睡眠狀態目標-c
- 10. 如何在手機進入睡眠狀態時重新啓動視頻
- 11. 手機進入睡眠狀態時,Android文件上傳服務會停止嗎?
- 12. 當屏幕進入睡眠狀態時TabLayout消失
- 13. 當Android設備進入睡眠狀態時,CCSpriteFrame不見了
- 14. 當設備進入睡眠模式時,活動狀態如何?
- 15. 當手機進入睡眠狀態時,將UILocalNotification的NSTimer用於定時器應用程序?
- 16. Android LocationManger進入睡眠狀態?
- 17. 讓Android進入睡眠狀態
- 18. SendInput讓系統進入睡眠狀態
- 19. 計算機進入睡眠狀態和Silverlight應用程序
- 20. 當睡眠按鈕被按下時,onDestroy和onCreate被調用
- 21. 當您的網頁可以進入睡眠狀態
- 22. 當智能手機「進入睡眠狀態」時,與Sphero的藍牙連接丟失
- 23. 當一個定時器線程進入睡眠狀態時會發生什麼
- 24. Android:設備進入睡眠狀態並從睡眠狀態喚醒時啓動服務的可能代碼
- 25. SSRS - 進程在不使用後死亡/進入睡眠狀態
- 26. 批處理腳本,在特定時間進入睡眠狀態
- 27. 瞭解系統何時進入Menu Extra睡眠狀態?
- 28. 防止Android在Flashplayer運行時進入睡眠狀態
- 29. MacOS進入睡眠狀態時收到通知
- 30. 服務什麼時候進入睡眠狀態?
由於方向更改,您確定您的應用程序未重新啓動? – 2010-11-10 20:26:40
不是。這發生在手機完全靜止在我的桌子上。當我按下睡眠按鈕時,會調用onDestroy,然後以某種方式開始新的活動。 – iterator 2010-11-10 20:41:53
我應該指出,它在重新啓動時傳遞了一個有效的savedInstanceState。 – iterator 2010-11-10 20:42:58