检查android设备是否可以旋转

时间:2017-03-29 11:51:01

标签: android screen-rotation

我想知道android设备是否支持设备轮换。 我认为任何Android设备都支持屏幕旋转,但我的三星Galaxy View不支持任何旋转。

我只找到了这段代码:

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();
}

但是这只让我知道如果用户关闭或打开屏幕旋转,我想知道它是否完全可能。

请帮帮我, 祝福

利奥

4 个答案:

答案 0 :(得分:3)

您可以查看传感器的可用性。这是官方docs

PackageManager manager = getPackageManager();
boolean hasAccelerometer = manager.hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER);

加速度计的作用

  

加速度计是一种内置的电子元件,可以测量   倾斜和运动。它还能够检测旋转和运动   摆动或摇晃等姿势。

     

最常见的用途是激活自动屏幕旋转   用户从纵向更改其方向时的移动设备   景观,反之亦然。

答案 1 :(得分:0)

也许只是尝试将应用程序屏幕锁定在一个位置,这样如果你可以旋转,你将跳过结帐步骤:)

答案 2 :(得分:0)

在Kishore Jethava的回答的帮助下,这应该是它的样子。

public static boolean isRotationPossible(Context context) {
    boolean hasAccelerometer = context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_SENSOR_ACCELEROMETER);

    return (hasAccelerometer && android.provider.Settings.System.getInt(getContentResolver(), Settings.System.ACCELEROMETER_ROTATION, 0) == 1);
}

答案 3 :(得分:0)

每个设备都支持旋转功能,但您无法检查任一设备是否支持旋转。您只能检查传感器和旋转模式,如果设备处于纵向或横向。