如何获取重力传感器信息?

时间:2011-05-04 02:07:51

标签: android

我正在尝试用我的Nexus S编写一个测试传感器的应用程序。

好吧,我写这篇文章是为了通过列表视图显示传感器列表。

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //get all sensors
        sensorManager = (SensorManager) this.getSystemService(SENSOR_SERVICE);
        sensors = sensorManager.getSensorList(Sensor.TYPE_ALL);

        setContentView(R.layout.main);

        sensorListView = (ListView) findViewById(R.id.sensor_listview);
        sensorListView.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> arg0, View arg1, int position,
                    long arg3) {
                showSensorInfo(sensors.get(position).getType());
            }
        });



        //set an empty adapter for ListView
        sensorNames = new ArrayAdapter<String>(getApplicationContext(),
                android.R.layout.simple_list_item_1);


        for (Sensor s : sensors) {
            sensorNames.add(s.getName());
            Log.i("sensor", s.getName());
        }
        sensorListView.setAdapter(sensorNames);
    }
我看到了这个〜 enter image description here

有一个叫做“重力传感器”的传感器,

我的问题是,有传感器CONSTANT,例如:

Sensor.TYPE_ACCELEROMETER

Sensor.TYPE_GYROSCOPE

Sensor.TYPE_LIGHT ..

等等。但我找不到名为「Sensor.TYPE_GRAVITY」的CONSTANT

重力传感器来自= .. = a ?? (我真是个新手〜)

2 个答案:

答案 0 :(得分:3)

重力由加速度计测量,但您可以查看重力常数(约9.8m / s ^ 2。)获得精确常数的方法是SensorManager.STANDARD_GRAVITY 你可以查看完整用途 http://developer.android.com/reference/android/hardware/SensorManager.html#STANDARD_GRAVITY

答案 1 :(得分:1)

TYPE_GRAVITY存在:http://developer.android.com/reference/android/hardware/SensorEvent.html 但它只能从Android 2.3开始提供。所以请在您的应用中查看。