1

我想知道安卓手机是否真的有方向传感器。我怀疑并不是所有的安卓手机屏幕都会随着方向的变化而变化(比如带有 qwerty 键盘的手机)

我浏览了文档并在 这里找到了一个布尔方法“canDetectOrientation()” 但是我发现描述中没有提到任何内容。谁能告诉我这是否是确定设备是否支持方向更改的方法。

提前致谢。

4

2 回答 2

2

如果我们传入函数Type.AllgetSensorList那么我们将获得所有可用传感器的列表。

然后我们可以遍历一个列表并获取所有传感器的传感器类型,如果我们找到传感器类型方向(整数值为 3),那么我们可以得出结论该设备具有该传感器。

下面是相同的代码片段。

boolean OrientationSensorFound=false;
SensorManager mSensorManager;
Sensor mSensor;

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
List<Sensor> mSensorList = mSensorManager.getSensorList(Sensor.TYPE_ALL );

for(int i=0;i<mSensorList.size();i++){
    // 3 is value for Orientation sensor
    if(Sensor.TYPE_ORIENTATION==mSensorList.get(i).getType()){
        OrientationSensorFound=true;
        break;
    }
}
Log.i("Sensor Found", "Orientation found : "+OrientationSensorFound);
于 2012-12-05T05:57:55.437 回答