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 回答