如何获得(传感器)传感器,支持列表
Android应用程序,如何得到实际设备支持列表(传感器)传感器?
如何从Android传感器的应用程序,支持,做到以下几点。
获取实例SensorManager。
SensorManager SM =(SensorManager)的getSystemService(SENSOR_SERVICE);
下一步,暂定,我有两种方式,一个是打开(已弃用)已过时。
但不仅限于对Android,在一般的Java说,基本上,API已被弃用,将确保您不使用。
第一步是引进故意弃用的方法。
请使用()SensorManager.getSensors的。
INT传感器= sm.getSensors();
返回值是int类型的。
返回值,对应于每个传感器,支持将返回一个常设的状态标志位的值。
例如,表达了以下决定,如是否有方向传感器测量。
((传感器及SensorManager.SENSOR_ORIENTATION的)!= 0){
/ /如果此声明,方向感应器支持
}
原因上面的方法已经过时,但我不知道,如何在后面介绍相比,我觉得我做的不是很好的易用性。
以下是推荐的方法。 非推荐的版本相比,有一种感觉,它更像是一个面向对象的外观。
使用()SensorManager.getSensorList的。
名单<sensor>列表sm.getSensorList(Sensor.TYPE_ALL);
返回值是List类型的传感器。
参数,您可以指定你想要得到的传感器,如果你想获得的所有支持的传感器,指定的Sensor.TYPE_ALL,如上所述。
名单如下:当返回值,可以判断如果传感器支持。
(传感器S:列表){
/ /例如,把日志中的传感器的名称
log.i(s.getName());
/ /例如,记录类型的传感器问题
log.i(s.getType());
}
()的返回值,但就是传感器的getType类型。
例如,如果一个传感器指示的方向感应器,TYPE_ORIENTATION返回。
如果你想使用的传感器,我也注册了监听传感器。
此后,方式,模式和过时以上,这里是推荐的模式。
如果第一个被废弃了。
使用()SensorManager.registerListener的。
如果你想注册的所有传感器都支持,例如,像下面这样。
INT传感器= sm.getSensors();
sm.registerListener(这一点,传感器);
第一个参数,指定实例实现SensorListener的。
第二个参数是您要注册的传感器的总和位值。
其实,这SensorListener接口本身,已被弃用。
已过时registerListener(),和这种用法。
以下是推荐的方式。
将使用()SensorManager.registerListener的,上述说法是不同的。
如果你想注册的所有传感器都支持,例如,像下面这样。
名单<sensor>列表sm.getSensorList(Sensor.TYPE_ALL);
(传感器S:列表){
sm.registerListener(这);
}
第一个参数,而不是SensorListener,将是一个实例,实现的SensorEventListener的。
第二个参数指定要注册的类型传感器的实例。
将事件通知()的一个实例实现的SensorEventListener的onSensorChanged。
从参数,你可以得到一个的类型SensorEvent的实例。
所以这一次,我们在这里,在另一个场合,就事件处理。
这篇文章时,我找到了如何获得了以前的传感器列表(),(过时),检查API参考已经过时SensorManager.getSensors。
已出版书籍,并在网络上,有可能已经罚款(不推荐)作为这次过时的代码示例。
当时,如果你看看在Android API的参考,现在已被推荐的API吗? 请参阅那么容易看到。
与Android SDK的API参考,并看到()SensorManager.getSensors的过时,已被描述如下。
这一点,你知道了!“我为什么要使用(Sensor.TYPE_ALL)getSensorList”。
顺便说一下,API参考阿里的处理,请参阅下面的文章。
Android的API参考的位置











