Android 我必须使用哪项功能才能仅为包含方向传感器的设备启用我的应用程序?

Android 我必须使用哪项功能才能仅为包含方向传感器的设备启用我的应用程序?,android,orientation,android-sensors,uses-feature,Android,Orientation,Android Sensors,Uses Feature,我的应用程序使用“方向传感器”,如您所见: 我想在我的清单文件中定义,以便仅为实际可以使用此传感器的设备启用我的应用程序,即具有“方向传感器”的设备 问题在于,可用功能不包括方向传感器。 包括的传感器包括: 加速计 气压计 罗盘 陀螺仪 轻的 接近 (如本文所述:) 我应该选择哪个传感器?它是加速计、指南针还是陀螺仪?根据android文档,“方位传感器通过使用设备的地磁场传感器和设备的加速计来获取数据。” 有关更多信息,请参阅本页。它还说,“方向传感器通过处理来自加速计和地磁场传感器的原

我的应用程序使用“方向传感器”,如您所见:

我想在我的清单文件中定义,以便仅为实际可以使用此传感器的设备启用我的应用程序,即具有“方向传感器”的设备

问题在于,可用功能不包括方向传感器。 包括的传感器包括:

  • 加速计
  • 气压计
  • 罗盘
  • 陀螺仪
  • 轻的
  • 接近
(如本文所述:)


我应该选择哪个传感器?它是加速计、指南针还是陀螺仪?

根据android文档,“方位传感器通过使用设备的地磁场传感器和设备的加速计来获取数据。”
有关更多信息,请参阅本页。它还说,“方向传感器通过处理来自加速计和地磁场传感器的原始传感器数据来获取其数据。由于涉及到繁重的处理,方向传感器的精度和精度降低(特别是,只有当滚动组件为0时,此传感器才可靠)。因此,Android 2.2(API级别8)中的方向传感器被弃用。”

这意味着我必须同时选择加速计和指南针(=磁强计),不是吗?是的,它是这么说的,如果解决了您的问题,您能标记正确的答案吗
SensorManager sensorMgr = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ORIENTATION);