0

エミュレーターで使用可能なセンサーのリストを取得するのに問題があります

私のコード:

mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
List<Sensor> sensList = mSensorManager.getSensorList(Sensor.TYPE_ALL);
Sensor s1 = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

両方の場所で空のリストを取得します。

エミュレータのログをチェックして、エミュレータにセンサーがあることを確認しました。

また。エミュレーターに接続し(telnetを使用)、センサーステータスを使用すると、次の出力が得られます。

acceleration: enabled.
magnetic-field: enabled.
orientation: enabled.
temperature: enabled.
proximity: enabled.

マニフェストの権限は次のとおりです。

ここで何か助けていただければ幸いです。

4

1 に答える 1

0
public class AndroidSensorList extends ListActivity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       SensorManager sensorManager
        = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
       List<Sensor> listSensor
        = sensorManager.getSensorList(Sensor.TYPE_ALL);

       List<String> listSensorType = new ArrayList<String>();
       for(int i=0; i<listSensor.size(); i++){
        listSensorType.add(listSensor.get(i).getName());
       }

       setListAdapter(new ArrayAdapter<String>(this,
               android.R.layout.simple_list_item_1,
               listSensorType));
       getListView().setTextFilterEnabled(true);
   }
}

また、エミュレーターで avd を編集してハードウェア プロパティを追加し、ハードウェア プロパティの下にある [新規] をクリックして、以下を追加する必要があります。

加速度計、磁場のサポート、向きのサポート、温度 ... 値を true に設定することを忘れないでください

于 2012-06-30T21:40:34.320 に答える