一个传感器作为输出?

时间:2013-10-21 09:53:21

标签: java android xml

我有这个方法

public String getSensor() {

    SensorManager mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

    String sensoriV ="";   

    List<Sensor> mList = mSensorManager.getSensorList(Sensor.TYPE_ALL);

    for (int i = 1; i < mList.size(); i++) {

    sensoriV =  "\n" + mList.get(i).getName() ;



    }

    return sensoriV;

    }

在另一个方法(相同的活动类)中,我有这个代码

String[] sensori = { ""+sensor };

为什么当我打开应用程序时,我的Nexus只有一个传感器作为输出?错误在哪里以及如何修复

3 个答案:

答案 0 :(得分:2)

您在以下行中忘记了+

sensoriV = "\n" + mList.get(i).getName() ;

应该是:

sensoriV += "\n" + mList.get(i).getName() ;

你的for循环应该从int i = 0开始。

你实际上得到了所有正确的信息。这只是字符串连接例程中的语义错误。

答案 1 :(得分:0)

1.可能只有一个传感器 2.可能是你的初始i = 0,而不是从i = 1开始循环 3.您显示的信息不够

答案 2 :(得分:0)

试试这个

private SensorManager mSensorManager;
...
mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);

List<Sensor> deviceSensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);

System.out.println(deviceSensors.size());//It will print the No of sensor availbale.

for(int i=0; i<deviceSensors.size(); i++) {

             System.out.println(deviceSensors.get(i).getName());

     }