2017-08-31 42 views
0

我正在開發基於正常活動的應用程序。 我已經從設備設置關閉設備方向。 當我在設備上運行我的應用程序時,應用程序會根據設備移動更改方向。 即使設備方向被鎖定,我也不知道應用程序如何旋轉。 在堆棧溢出或任何其他論壇上沒有報告或詢問過此類實例/問題。 請指出,我可能會錯過什麼?即使鎖定設備方向,應用程序也會自動旋轉

回答

0

這是非常愚蠢的錯誤,但我想的共享位置的情況下,任何其他人面臨這個問題。 在一個點上,在我的申請,我是編程設定裝置定向SCREEN_ORIENTATION_FULL_SENSOR:

activityContext.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); 

這使得基於傳感器的應用改變方向,即使用戶已經鎖定設備的方向。

0

你可以檢查設備是否旋轉開啓或關閉,然後鎖定它,就像這樣:

if (android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1){ 
    //Auto Rotate is on, so don't lock 

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 
} 
else{ 
    //Auto Rotate is off, so lock 

    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
} 
+0

我不希望我的活動被鎖定。我希望他們能夠改變方向,只有當設備方向沒有鎖定在設備設置中。 – LoveForDroid

+0

我編輯了我的答案,看看它是否適合你 – MrAppMachine

+0

爲什麼我需要鎖定在第一位?如果設備方向被鎖定,我的應用程序不應該旋轉。這很簡單。 – LoveForDroid

相關問題