android在activity中鎖屏解鎖后重走OnCreate的問題的解決辦法


在項目中,遇到了需要在某個activity中根據不同的情況下設置為橫屏或豎屏,而且不因重力感應改變方向。因此剛開始我沒有在manifest里指定方向,而是在代碼中強制設置屏幕的方向

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//當前activity強制設置為橫屏

 

或者是

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);//當前activity強制設置為豎屏

這樣設置后可以根據不同的情況調整屏幕的方向,但如果進行鎖屏,解鎖后通過跟蹤log發現activity又重走了OnCreate,當前activity的狀態無法保存。正常進入當前activity時會走兩次OnCreate,第二次是因為設置屏幕的方向。網上找解決辦法,可以在manifest里該activity下添加

android:configChanges="orientation"

可以使activity不因為屏幕方向的改變而重走OnCreate。這樣再跟蹤log時,解鎖后就從OnResume開始走了。


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM