2016-01-06 83 views
4

如何找出設備的屏幕方向是否鎖定?我正在使用OrientationEventListener觸發我的應用程序中的某些操作,如果用戶鎖定了他的屏幕,我想禁用它。找出設備方向是否鎖定(檢測自動旋轉是否啓用)

我知道我可以平時可定向喜歡這一點,但如何找出是這樣的鎖定方位:

int orientation = getResources().getConfiguration().orientation; 

    if (orientation == Configuration.ORIENTATION_PORTRAIT) { 
     // It's portrait 
    } else { 
     // It's landscape 
    } 

回答

16

使用此:

if (android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1){ 
     Toast.makeText(getApplicationContext(), "Auto Rotate is ON", Toast.LENGTH_SHORT).show(); 

    } 
    else{ 
     Toast.makeText(getApplicationContext(), "Auto Rotate is OFF", Toast.LENGTH_SHORT).show(); 
    } 
-1

您可以檢查方向運行時,如:

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
super.onConfigurationChanged(newConfig); 

// Checks the orientation of the screen 
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { 
    Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show(); 

} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){ 
    Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();   
} 
} 

希望它有幫助。

+0

謝謝克里斯託,但這並不給信息是屏幕鎖定。 – Astagron

+0

也許我錯過了你的問題,因爲它不是很清楚你需要什麼。我以爲你想檢查方向的類型。無論如何快樂的編碼。 – Kristo