このエントリーを含むはてなブックマークはてなブックマーク - Android センサーリストの表示 この記事をクリップ!Livedoorクリップ - Android センサーリストの表示 Yahoo!ブックマークに登録 このエントリをつぶやくこのWebページのtweets Googleブックマークに追加

Androidは多くのセンサーに対応しています。

SDKの情報を見ると以下のように

  • TYPE_ACCELEROMETER
  • TYPE_GYROSCOPE
  • TYPE_LIGHT
  • TYPE_MAGNETIC_FIELD
  • TYPE_ORIENTATION
  • TYPE_PRESSURE
  • TYPE_PROXIMITY
  • TYPE_TEMPERATURE

センサーデータを使って面白い事出来ないかと妄想 → とりあえずテストしてみよう!

・・・会社のXperiaで欲しいセンサー情報を得ようとするも、うまく取得できませんでした。

『そもそも Xperiaがセンサー積んでるのか??』と言う事で・・・。

搭載?しているセンサーの情報をチェック。
今後も機種毎に仕様を確認するのも面倒なので、以下のようにして センサー情報を表示させました。

↓の例では、OnResume()で表示クリア → 再度取得→表示 としてますが onCreateで一度だけでも良かったのかもしれません。

// ListViewに表示するアダプタ
private ArrayAdapter<String> sensAdapter;
// ListView
private ListView sensorList;

@Override
public void onCreate(Bundle savedInstanceState) {
	・
	・
	・
	・
	// SensorList というidのListView
    sensorList = (ListView) this.findViewById(R.id.SensorList);

	// センサーリスト表示用アダプタ
    sensAdapter = new ArrayAdapter<String>(
    	    this, android.R.layout.simple_list_item_1);

	// 上記アダプタをセット
    sensorList.setAdapter(sensAdapter);

	// センサーマネージャ取得
    sensManager = (SensorManager)getSystemService(SENSOR_SERVICE);

}

@Override
protected void onResume() {
    // TODO 自動生成されたメソッド・スタブ
    super.onResume();
	・
	・
	・
	・
	// センサ取得
	List<Sensor> sensors = sensManager.getSensorList(Sensor.TYPE_ALL);

	// 現在表示中の情報クリア
	sensAdapter.clear();

	// センサマネージャより各センサーの情報を得る
	for (Sensor sensor : sensors) {
		sensAdapter.add(sensor.getName());
	}
}

妄想ネタに使いたいセンサーには対応していませんでした。
シミュレーターで、ダミー値取れるようにってできないのかなぁ・・・。(出来たとしても実機テストしたいですが)