如何检查旋转是否在 Android 上被锁定

don*_*gcn 0 android

我有一个应用程序,我希望我的应用程序尊重轮换荣誉。但是如何检查旋转是否在 Android 上被锁定?当然以编程方式:)

==================

谢伊姆兰的回答。我再次放在这里是因为我找不到有关 DEFAULT_ACCELEROMETER_ROTATION 的任何信息,而且如果您只想读取系统设置,也不需要更改用户权限。干杯!

http://developer.android.com/reference/android/provider/Settings.System.html#getInt(android.content.ContentResolver , java.lang.String)

int str = Settings.System.getInt(Context.getContentResolver(),
Settings.System.ACCELEROMETER_ROTATION, DEFAULT_ACCELEROMETER_ROTATION);

Jos*_*igo 5

??????? K 解决方案有效,但此回复是一个更漂亮且固定的解决方案:

boolean isOrientationEnabled;

try {
    isOrientationEnabled = Settings.System.getInt(getContentResolver(),                                    
        Settings.System.ACCELEROMETER_ROTATION) == 1;
} catch (SettingNotFoundException e) {
    isOrientationEnabled = false;
} 
Run Code Online (Sandbox Code Playgroud)

  • 首先:if 语句在 then 和 else 块中包含相同的注释。第二:如果代码在活动中执行,只需调用 getContentResolver() 即可轻松获得 ContentResolver。第三:异常没有被处理。第四:最好设置一个默认值来处理异常。第五:不需要写权限,你只是在阅读。 (3认同)