Android:activity.getResources()。getConfiguration()。orientation在三星galaxy设备上返回错误的值

时间:2018-02-13 23:00:40

标签: android camera screen-orientation device-orientation samsung-galaxy

对于我的Android应用,返回的值为activity.getResources()。getConfiguration()。orientation始终为1(ORIENTATION_PORTRAIT),即使设备处于横向模式。这种情况特别发生在三星Galaxy设备上。这导致我的片段使用纵向布局而不是项目中存在的横向布局。是否有不同的方法来检查三星设备的方向?还有其他人面临同样的问题吗?

    activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR);

    // Get device orientation
    Configuration config = activity.getResources().getConfiguration();
    mOrientation = config.orientation;

1 个答案:

答案 0 :(得分:1)

你并不是第一个在某些三星手机上抱怨这个漏洞的人: control orientation by sensor on Samsung devices 。如果您不关心SCREEN_ORIENTATION_REVERSE_PORTRAIT的情况,可能对您而言SCREEN_ORIENTATION_SENSOR将比SCREEN_ORIENTATION_FULL_SENSOR效果更好。

我并不感到惊讶,这家制造商做了一些不能按预期工作的东西。我相信您仍然可以使用OrientationListener从加速度计中获取真实的设备方向,例如 How to detect my screen orientation in portrait locked screen in android?