2013-10-21 30 views
0

我有這個方法一個傳感器作爲輸出?

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; 

    } 

在其它方法(相同的活性類)1有這樣的代碼

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

爲什麼當我打開應用我只有一個傳感器用作outpout上我的Nexus?錯誤在哪裏,我該如何修復

+0

最後一行提到的'sensor'是什麼'{「」+ sensor}'??? –

回答

2

您在下面一行忘了+

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

應該是:

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

而你的for循環應該從int i = 0開始。

你實際上得到所有正確的信息。這只是您的字符串連接例程中的語義錯誤。

+0

好吧,它的工作。非常感謝。有沒有辦法獲得更多關於傳感器的信息? –

+0

如果您的意思是來自傳感器數據中的「更多信息」,那麼肯定是的。下面是開始的地方:[傳感器概述](http://developer.android.com/guide/topics/sensors/sensors_overview.html)。如果您的意思是製造商信息或硬件規格,我不知道。 –

0

1.可能只有一個傳感器 2.可能是你應該啓動i = 0,而不是從i = 1開始循環3.您顯示的信息不是足夠

+0

1.我不認爲Nexus 4只有一個傳感器(陀螺儀)。 2.我試圖把int = 0,但結果總是一樣的。 –

+0

Em,我應該認識到我對於這個觀點的無知1.所以傻瓜 – shadow

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()); 

    } 
相關問題