統設置中“自動轉屏“設置跟app中Activity設置橫豎屏之間的影響

  對於橫豎屏設置,網上介紹的很多,這裏主要說下系統設置中“自動轉屏“設置跟
app中Activity設置橫豎屏之間的影響:
 
現說下下面兩點
1:優先級:Activity設置橫豎屏 高於 系統設置中“自動轉屏“設置;
 
2:Activity的橫豎屏設置信息是保存在ActivityINfo對象中,ActivityINfo的橫
豎屏默認值是 screenOrientation = SCREEN_ORIENTATION_UNSPECIFIED而不是
SCREEN_ORIENTATION_SENSOR。
 
基於以上兩點可以衍生出以下幾點(經過代碼驗證):
1、只有當Activity持有的對象ActivityINfo:screenOrientation =
SCREEN_ORIENTATION_UNSPECIFIED時,系統設置中“自動轉屏“設置纔會對APP中的
Activity窗口顯示起作用;
 
2、當Activity需要自由設置橫豎屏狀態,且已經通過setRequestedOrientation設
置後,又想恢復自動轉屏交由系統控制,此時應該
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);
而不是
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR);
  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章