0

ここでエラーが発生したようです。設定で加速度計の自動回転値を変更しようとしています。

これで、デバイスの回転をロックおよびロック解除できました。ただし、デバイスをロックすると、ロック中にどの方向を向いていても、デバイスは縦向きモードになります。

これが私のコードです:

    public void setAutoOrientationEnabled(boolean enabled)
{
  Settings.System.putInt(content, Settings.System.ACCELEROMETER_ROTATION, enabled ? 1 : 0);
}

助けてくれてありがとう!

4

2 に答える 2

1

このコード サンプルは、ロック時に現在の向きを保持して画面の回転をロック/ロック解除します。

if (Settings.System.getInt(context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION) == 1) {
            Display defaultDisplay = ((WindowManager) context.getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
            Settings.System.putInt( context.getContentResolver(), Settings.System.USER_ROTATION, defaultDisplay.getRotation());
            Settings.System.putInt( context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0);       
} else {
            Settings.System.putInt( context.getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 1);                
}
于 2014-11-08T09:55:28.207 に答える