我只是想问一个问题,因为我已经通过 Google 进行了搜索,但似乎找不到任何有用的东西,并阅读了this和this。
问题是,我只能在手机直接使用 android 设备中的传感器时从相机拍照吗?
只是在寻找有关如何做的建议?
在您的活动中,您正在捕获图像使用
int i = getResources().getConfiguration().orientation;
通过这个,您将获得移动设备的当前方向,如果是纵向则仅捕获图像。
您应该能够使用方向传感器和 SensorEvents。
方向传感器可让您监控设备相对于地球参考系(特别是磁北)的位置。
方向传感器通过将设备的地磁场传感器与设备的加速度计结合使用来获取其数据。使用这两个硬件传感器,方向传感器提供以下三个维度的数据:
方位角(围绕 z 轴的旋转度数)。这是磁北与设备 y 轴之间的角度。例如,如果设备的 y 轴与磁北对齐,则此值为 0,如果设备的 y 轴指向南方,则此值为 180。同样,当 y 轴指向东方时,此值为 90,而当它指向西这个值是270。
俯仰(围绕 x 轴的旋转度数)。当 z 轴正向向 y 轴正方向旋转时,该值为正,当 z 轴正向向 y 轴负方向旋转时,该值为负。值的范围是 180 度到 -180 度。
滚动(围绕 y 轴的旋转度数)。当 z 轴正向向 x 轴正方向旋转时,该值为正,当 z 轴正向向 x 轴负方向旋转时,该值为负。值的范围是 90 度到 -90 度。
使用这些值,您应该能够判断手机何时在任何位置“笔直”。“使用方向传感器”标题下的页面上有示例:http: //developer.android.com/guide/topics/sensors/sensors_position.html#sensors-pos-orient
Also look at http://developer.android.com/reference/android/hardware/SensorEvent.html which shows how to use the sensor events