0

主にセンサーに基づくアプリケーションを開発しています。

センサーから値を取得する前に、センサーがサポートされているかどうかを確認することが重要かどうかを知りたいだけですか? そして、そのようなチェックを実行する最良の方法は何ですか?

例: 1- センサーから値を読み取る前に、準備段階として次のコードを記述する必要がありますか?

2-そのようなチェックを行うためのより良い方法はありますか?

サンプルコード:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sensorssystemservice);

    getDefaultSensor();
    if (registerSensors() !=null) ) {
      //....
     //.....
}

private void getDefaultSensor() {
    sm=(SensorManager)getSystemService(SENSOR_SERVICE);        
    mAccelerometer = sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
           }
private boolean registerSensor() {
     return sm.registerListener(this, mAccelerometer,SensorManager.SENSOR_DELAY_NORMAL);

}'

4

1 に答える 1

0

見つかっていないセンサーにリスナーを登録しようとすると、最終的にエラーが発生するかどうかはわかりませんが、問題を回避するには、それらの可用性を確認することをお勧めします。これにより、「よりクリーンな」コードも提供されます。

メソッドに関しては、 getSensorList メソッドを使用できます: getSensorList

デバイスが特定のタイプに関連付けられた複数のセンサーを所有しているかどうかを最初に知ることができ、リスト要素の 1 つに必要なタイプがあるかどうかを簡単に確認できます。そのチェックには数行かかります。

于 2012-04-20T07:52:53.453 に答える