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

时间:2012-06-30 21:34:20

标签: android android-emulator

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

我的代码:

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.
清单中的

权限是:                    

非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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