1

Android フォンに方向センサーが実際に搭載されているかどうかを知りたいです。すべての Android 携帯電話の画面が方向の変化に伴って変化するわけではないと思います (qwerty キーパッドを備えた携帯電話のように)。

ドキュメントを調べたところ、ブール値のメソッド 'canDetectOrientation ()' here が見つかりましたが、説明に何も言及されていませんでした。これがデバイスが向きの変更をサポートしているかどうかを確認する方法であるかどうか、誰か教えてください。

前もって感謝します。

4

2 に答える 2

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);
于 2012-12-05T05:57:55.437 に答える
1

実際の Android ソース コードを確認できます。http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.1.1_r1/android/view/OrientationEventListener.java#OrientationEventListener.canDetectOrientation%28のクラムに従ってください。 %29

于 2012-12-05T05:40:03.830 に答える