国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程中光線傳感器的調用方法詳解

2019-10-22 18:30:22
字體:
來源:轉載
供稿:網友

本文實例講述了Android編程中光線傳感器的調用方法。分享給大家供大家參考,具體如下:

1.activity如果要使用傳感器,就必須實現SensorEventListener接口

2.得到傳感器管理對象(sensormanager)

3.使用sensormanager.registerlistener 方法注冊指定的傳感器

4.在sensoreventlistener 接口中的onsensorchangedonaccuracychanged方法中完成其他具體工作

public class TestActivity extends Activity { private SensorManager sensorManager; //第三步:對傳感器信號進行監聽 private SensorEventListener listener = new SensorEventListener() {  @Override  public void onSensorChanged(SensorEvent event) {   //提示當前光照強度   Toast.makeText(TestActivity.this,     "當前光照強度:" + event.values[0] + "勒克斯", Toast.LENGTH_SHORT).show();  }  @Override  public void onAccuracyChanged(Sensor sensor, int accuracy) {  } }; @Override protected 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); } @Override protected 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空間中獲得數據

 

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙湾县| 收藏| 海城市| 祁阳县| 德阳市| 库车县| 郧西县| 浑源县| 讷河市| 汪清县| 盘锦市| 寻甸| 五常市| 景德镇市| 灯塔市| 马关县| 曲沃县| 舞钢市| 牡丹江市| 洪泽县| 吉安市| 黔江区| 长海县| 宜宾市| 太仓市| 大竹县| 浦江县| 灵川县| 临澧县| 德惠市| 元江| 红桥区| 三台县| 屯留县| 汝州市| 庆安县| 福州市| 政和县| 西吉县| 察雅县| 贺兰县|