Android 光线传感器的调用
1.activity如果要使用傳感器,就必須實現SensorEventListener接口
2.得到傳感器管理對象(sensormanager)
3.使用sensormanager.registerlistener 方法注冊指定的傳感器
4.在sensoreventlistener 接口中的onsensorchanged和onaccuracychanged方法中完成其他具體工作
public class TestActivity extends Activity {private SensorManager sensorManager;//第三步:對傳感器信號進行監(jiān)聽private SensorEventListener listener = new SensorEventListener() {@Overridepublic void onSensorChanged(SensorEvent event) {//提示當前光照強度Toast.makeText(TestActivity.this,"當前光照強度:" + event.values[0] + "勒克斯", Toast.LENGTH_SHORT).show();}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) {}};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//第一步:獲取 SensorManager 的實例sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);//第二步:獲取 Sensor 傳感器類型Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);//第四步:注冊 SensorEventListener sensorManager.registerListener(listener,sensor,SensorManager.SENSOR_DELAY_NORMAL);}@Overrideprotected void onDestroy() {super.onDestroy();//傳感器使用完畢,釋放資源if(sensorManager!=null){sensorManager.unregisterListener(listener);}} }===================傳感器類型=========================
? ?加速傳感器(Sensor.TYPE_ACCELEROMETER)
? ?磁場傳感器(Sensor.TYPE_MAGNETIC_FLELD)
? ?光線傳感器 (Sensor.TYPE_LIGHT )
?? 方向傳感器 (TYPE_ORIENTATION)
===================Values數值========================
?Accelerometer(加速傳感器)
?values[0] :沿x軸方向加速度
?values[1]: 沿 y 軸方向的加速度
?values[2] : 沿 z 軸方向的加速度,也就是重力加速度
?
Gravity(重力感應器)
values數組中的三個元素分別代表x軸,y軸,z軸的重力大小
?
Light(光線傳感器)
values數組只有第一個元素values[0]有意義,表示光線的強度,最大值是120000.0f.
?
Gyroscope( 陀螺傳感器)
values,分別表示x,y,z軸的旋轉的角速度
?
Orientation(方向傳感器)
values[0] : 該值表示方位,也就是手機繞著z軸旋轉的角度. 0表示北(north),90表示動(east),180表示南(south),270表示西(west)
values[1]:表示傾斜度. x 軸傾斜時,該值變化,-180<= vaules[1] <= 180
values[2]: 表示沿y軸的滾動角度,-90<=values[2] <=90
在android2.3 sdk中,并不推薦使用sensor.TYPE_ORIENTATION,values[0]值,有時會出現異常。官方推薦使用SensorManager.getOrientaion的方法來獲得正確的方向?
===================數值更新速度========================
? SENSOR_DELAY_FASTEST:?以最快的速度獲得傳感器數據
??SENSOR_DELAY_GAME: 適合與在游戲中獲得傳感器數據
??SENSOR_DELAY_NORMAL: 以一般的速度獲得傳感器數據
? SENSOR_DELAY_UI:適合于在ui空間中獲得數據
?
轉載于:https://www.cnblogs.com/woider/p/5348993.html
總結
以上是生活随笔為你收集整理的Android 光线传感器的调用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 叫我大掌柜九龙城寨水果和鱼哪个好
- 下一篇: 20145105 《Java程序设计》第