对于我的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;
答案 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? 。