Android:Orientation:确定设备是否支持方向更改

时间:2012-12-05 05:09:38

标签: android android-layout android-orientation

我想知道Android手机是否真的有方向传感器。 我怀疑并非所有的Android手机屏幕都会随着方向的变化而改变(就像带有qwerty键盘的手机一样)

我已经阅读了文档,发现了一个布尔方法'canDetectOrientation()' here 但我发现说明中没有提到任何内容。任何人都能告诉我这是不是 找出设备是否支持方向更改的方法。

提前致谢。

2 个答案:

答案 0 :(得分:2)

如果我们在Type.All函数中传递getSensorList,那么我们将获得所有可用传感器的列表。

然后,如果我们找到传感器类型方向(整数值为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);

答案 1 :(得分:1)