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;

    }

他のメソッド(同じアクティビティクラス)で、私はこのコードを持っています

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

アプリケーションを開いたときに、Nexus のアウトプットとして 1 つのセンサーしか表示されないのはなぜですか? エラーの場所と修正方法

4

3 に答える 3

2

次の行でa を忘れました+:

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

次のようにする必要があります。

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

for ループは から開始する必要がありますint i = 0

あなたは実際にすべての正しい情報を得ています。これは、文字列連結ルーチンのセマンティック エラーにすぎません。

于 2013-10-21T10:19:44.047 に答える
0

1. センサーが 1 つしかない可能性があります 2. i=1 からループを開始するのではなく、i=0 を初期化する必要がある可能性があります 3. 表示する情報が十分でない可能性があります

于 2013-10-21T09:58:37.050 に答える
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());

     }
于 2013-10-21T10:12:59.013 に答える