【发布时间】:2016-09-07 10:43:18
【问题描述】:
我试过这个,不行,我总是0度
Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
int screenOrientation = display.getRotation();
如果使用SensorManager,也是不行的,因为不移动手机也不会触发
mOrientationEventListener = new OrientationEventListener(this, SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
}
};
更新
请尝试完整的演示
https://github.com/sochap/getorientationquestdemo
由于显示没有变化,用显示判断是不可能的
我要获取设备方向,而不是显示方向
OrientationEventListener 可以,但onCreate 不行
【问题讨论】:
-
检查屏幕方向 在 oncreate "if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { //Landscape mode }" 中写下这段代码,如果你想检查然后你也可以通过纵向模式查看
-
您可以通过在Activity中重写onOrientationChaged来检查屏幕方向何时改变
-
getResources().getConfiguration().orientation 始终为 1
-
无法用display判断,试试我的demo
标签: android android-sensors android-orientation device-orientation