我想知道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();
}
但是这只让我知道如果用户关闭或打开屏幕旋转,我想知道它是否完全可能。
请帮帮我, 祝福
利奥
答案 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)
每个设备都支持旋转功能,但您无法检查任一设备是否支持旋转。您只能检查传感器和旋转模式,如果设备处于纵向或横向。