这个问题涉及到三维几何和对android传感器的立体理解。我花了几个星期寻找一个没有成功的解决方案,希望得到社区的帮助。
是否可以从android中的服务获取当前设备方向(纵向或横向)?我不需要传感器的持续更新;只需要当前设备的方向。即使发射器是纵向的(因为用户已将“自动旋转”设置为“关闭”),在横向保持时,设备方向也应正确报告。
示例/示例代码将受到高度赞赏。
谢谢。
最佳答案
是的,你可以
WindowManager windowService = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
int currentRatation = windowService.getDefaultDisplay().getRotation();
if (Surface.ROTATION_0 == currentRatation) {
currentRatation = PORT;
} else if(Surface.ROTATION_180 == currentRatation) {
currentRatation = PORT;
} else if(Surface.ROTATION_90 == currentRatation) {
currentRatation = LAND;
} else if(Surface.ROTATION_270 == currentRatation) {
currentRatation = LAND;
}