2011-11-14 4 views
4

私はプログラム的にSensorの名前を取得したいです。周囲光センサーの名前を言う。センサーの名前はどのように取得できますか?

はどうやってその名前を得ることができますか?

+0

は、この質問には、ドキュメントの質問です。これは、あまり知られていないSensorクラスの機能を文書化するためのものです。 –

+0

良い質問ですが、私はそれが誤解されているように、より正確なものでなければならないと思います。答えを見てください。 – Mudassir

+0

どのように私はより具体的にすることができます_周囲光センサーの名前._? –

答えて

3

まず、あなたはマネージャーから所望のサービスインスタンスを取得し、その後、SensorManagerのインスタンスを取得する必要があります。

String sm = Context.SENSOR_SERVICE; 
SensorManager sensorManager = (SensorManager) getSystemService(sm); 

/* 
* We get the light sensor in this example. 
*/ 
Sensor someSensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); 

/* 
* Always perform a null check on sensors since your device 
* may not have that sensor. 
*/ 
if (null != someSensor) { 
    String sensorName = someSensor.getName(); 
} 

あなたは、センサーのgetName()メソッドを使用して名前を取得します。あなたは、デバイス内のすべてのセンサーを得ることができますgetSensorList(Sensor.TYPE_ALL)

0

SensorManager sensorManager 
    = (SensorManager)getSystemService(Context.SENSOR_SERVICE); 
sensorManager.getSensorList(Sensor.TYPE_ALL); 
8

利用可能なセンサ(全て又はcertain typesの)を照会し、センサ・マネージャを使用。次に、Sensor.getName()を使用して、個々のセンサーの名前を取得します。上記のスニペットから

SensorManager sm = (SensorManager) getSystemService(SENSOR_SERVICE); 
List<Sensor> list = sm.getSensorList(Sensor.TYPE_ALL); 

for(Sensor s : list) { 
    Log.d("SENSORS", s.getName()); 
} 

出力例:

11-14 12:26:47.549: D/SENSORS(911): BMA150 3-axis Accelerometer 
11-14 12:26:47.559: D/SENSORS(911): AK8973 3-axis Magnetic field sensor 
11-14 12:26:47.559: D/SENSORS(911): AK8973 Orientation sensor 
11-14 12:26:47.559: D/SENSORS(911): CM3602 Proximity sensor 
11-14 12:26:47.559: D/SENSORS(911): CM3602 Light sensor 
11-14 12:26:47.559: D/SENSORS(911): Gravity Sensor 
11-14 12:26:47.559: D/SENSORS(911): Linear Acceleration Sensor 
11-14 12:26:47.559: D/SENSORS(911): Rotation Vector Sensor 
+0

あなたの努力に感謝します。しかし、私はセンサの完全なリストではなく、特定のセンサの名前を求めました。質問に対する私のコメントに記載されているように、この質問は自己文書化質問であることを意味します。 –

+0

OK、ここには 'getDefaultSensor()'は含まれていませんでした。あなたの答えをアップアップしました。また、私が投稿したときにこれが自己文書化の問題であることに気付かなかった。私は質問に短い文章を書いて、それを強調し、あなたが将来完了したときにそれを編集すると言うでしょう。これは誰にとっても明らかです。私はこの例の出力はまだ関連しているので、人々は両方の問題のためにここにGoogleで終わるかもしれないので、これを保持します。 –

+0

私は同意します。それを前もってやっていたはずです。 –

関連する問題