Android:获取当前的设备方向

时间:2015-01-20 08:56:03

标签: android screen-orientation android-orientation device-orientation

我在清单集中将活动方向设为肖像。因为我不希望我的屏幕旋转。

但是点击按钮,我想在Android中获取当前的设备方向(纵向或横向)?我不需要从传感器不断更新;当我点击按钮就足够了当前的设备方向。

PS:设备定位是我拿着设备的方式。请勿将其与屏幕方向混合使用。

这是我到目前为止所做的事情?

 int PORT=1,LAND=2;

 WindowManager windowService = (WindowManager)getSystemService(Context.WINDOW_SERVICE);

 int rotation = windowService.getDefaultDisplay().getRotation();        

    if (Surface.ROTATION_0 == rotation) {
        rotation = PORT;
    } else if(Surface.ROTATION_180 == rotation) {
        rotation = PORT;
    } else if(Surface.ROTATION_90 == rotation) {
        rotation = LAND;
    } else if(Surface.ROTATION_270 == rotation) {
        rotation = LAND;
    }
 return rotation;

即使使用以下方法也无济于事

getResources().getConfiguration().orientation

它始终返回1,因为我的活动默认设置为肖像。

示例/示例代码将受到高度赞赏。

感谢。

1 个答案:

答案 0 :(得分:5)

使用此:)

getResources().getConfiguration().orientation