これは、実装時に取得する自動生成関数の 1 つです。
SensorEventListener
検索しましたが、「センサーの精度が変わったら何かをする」という説明以外は見つかりませんでした。近接センサーの精度はいつ、どのように変化しますか? そして、これは私のアプリでどのように役立ちますか?
これは、実装時に取得する自動生成関数の 1 つです。
SensorEventListener
検索しましたが、「センサーの精度が変わったら何かをする」という説明以外は見つかりませんでした。近接センサーの精度はいつ、どのように変化しますか? そして、これは私のアプリでどのように役立ちますか?
私の理解によるとOnAccuracyChanged
、センサーが異なる精度でレポートするたびにメソッドが呼び出され、onSensorChanged
センサーが新しい値をレポートするたびにメソッドが呼び出されます。
メソッドの活用方法など、私も同じ疑問を持っていましたonAccuracyChanged
。
精度が高い場合にのみセンサー データが必要であり、それ以下のデータは必要ないとします。これを行う 1 つの方法は、新しいグローバル変数を作成することです。メソッド内でonAccuracyChanged
何らかの値に初期化し、onSensorChanged
関数内で条件を追加しif..else
ます。
サンプルコード:
public void onAccuracyChanged(Sensor sensor, int accuracy) {
// Do something here if sensor accuracy changes.
// You must implement this callback in your code.
if (sensor == mValuen) {
switch (accuracy) {
case 0:
System.out.println("Unreliable");
con=0;
break;
case 1:
System.out.println("Low Accuracy");
con=0;
break;
case 2:
System.out.println("Medium Accuracy");
con=0;
break;
case 3:
System.out.println("High Accuracy");
con=1;
break;
}
}
}
ここで条件を使用if (con==1)
して、必要な変更を行います。
PSアンドロイドのドキュメントによると。
public abstract void onAccuracyChanged (int sensor, int accuracy)
センサーの精度が変化したときに呼び出されます。詳細については、SensorManager を参照してください。Parameterssensor 監視されているセンサーの ID accuracy このセンサーの新しい精度。したがって、精度が変化するたびに、その変化を参照できます。何か不足している場合はお知らせください。ありがとう。