无法在模拟器中获取传感器列表



我在模拟器上获取可用传感器列表时遇到问题

我的代码:

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.

清单中的权限包括:

非常感谢这里的任何帮助。

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

最新更新