0

我有一个应用程序,我希望我的应用程序尊重旋转磨刀器。但是如何检查旋转是否在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);

4

2 回答 2

6

ρяσѕρєя K 解决方案有效,但此回复是一个更漂亮且固定的解决方案:

boolean isOrientationEnabled;

try {
    isOrientationEnabled = Settings.System.getInt(getContentResolver(),                                    
        Settings.System.ACCELEROMETER_ROTATION) == 1;
} catch (SettingNotFoundException e) {
    isOrientationEnabled = false;
} 
于 2013-12-22T11:37:33.613 回答
4

您可以使用系统设置检查旋转是否锁定:

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

   if(str==1) 
   {
      // rotation is Unlocked
   } else {
      // rotation is Locked
   }

AndroidManifest.xml:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS"/>
于 2012-05-23T18:31:42.603 回答