android - 检查 Android 设备是否可以旋转

标签 android screen-rotation

我想知道 Android 设备是否支持设备旋转。 我以为任何 Android 设备都支持屏幕旋转,但我的 Samsung 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();
}

但这只能让我知道用户是否设置了屏幕旋转关闭或打开,我想知道这是否可能。

请帮助我, 最美好的祝愿

狮子座

最佳答案

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

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

加速度计的作用

The accelerometer is a built-in electronic component that measures tilt and motion. It is also capable of detecting rotation and motion gestures such as swinging or shaking.

The most common use for it is to activate auto screen rotation on mobile devices when the user changes their orientation from portrait to landscape or vice-versa.

关于android - 检查 Android 设备是否可以旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43092700/

相关文章:

ios - 以编程方式创建一个在横向和纵向工作的 UIPickerView

java - android audioRecord-应用变化增益

java - 在 Fragment 中使用 MainActivity 的值

android - 如何将 ArrayList<my_custom_class> 传递给其他 Activity ?

android - 在 Android 应用程序中启动另一个应用程序

android - 在 Android 中,屏幕旋转 Activity 正在重新创建,即使在 Oneplus6t(android 9)的 list 中阻止了旋转?

android - Trivial Drive 中的错误消息不明确

java - Activity 无意识启动时的 NULL 指针。空对象引用上的 'int java.lang.String.hashCode()'

Android 屏幕旋转,ACCELEROMETER_ROTATION

android - Android中ViewTreeObserver.OnGlobalLayoutListener什么时候通知