android手機感測器
❶ Android感測器的使用
目前每部Android 手機裡面都會內置有許多的感測器,它們能夠監測到各種發生在手機上的物理事件,而我們只要靈活運用這些事件就可以編寫出很多好玩的應用程序。下面我們開始簡單的感測器使用的學習。
1.手機內置的感測器是一種微型的物理設備,它能夠探測、感受到外界的信號,並按一定規律轉換成我們所需要的信息。
2.Android手機通常會支持多種類型的感測器,如光照感測器,地磁感測器,壓力感測器,溫度感測器。
3.Android手機只是負責將這些感測器所輸出的信息傳遞給我們,至於具體如何去利用這些信息就要我們在程序中具體去利用這些得到的數據去處理了。
從Android1.5開始,系統內置了對多達八種感測器的支持,他們分別是:加速度感測器(accelerometer)、陀螺儀(gyroscope)、環境光照感測器(light)、磁力感測器(magnetic field)、方向感測器(orientation)、壓力感測器(pressure)、距離感測器(proximity)和溫度感測器(temperature)。
1.Android所有的感測器都歸感測器管理器SensorManager管理,如下是獲得感測器的方法:
2.獲取某個或者某些感測器的方法有如下三種:
第一種:獲取某種感測器:
第二種:獲取某種感測器列表:
第三種:獲取所有感測器列表:
❷ Android 中有哪些感測器的數據是可以分享的
TYPE_ACCELEROMETER 加速度感測器又叫 G-sensor,該數值包含地心引力的影響,單位是 m/s2,測量應用於設備 x 、y、z 軸上的加速度。
將手機平放在桌面上,x 軸默認為0,y 軸默認0,z 軸默認9.81。
將手機朝下放在桌面上,z 軸為-9.81。
將手機向左傾斜,x 軸為正值。
將手機向右傾斜,x 軸為負值。
將手機向上傾斜,y 軸為負值。
將手機向下傾斜,y 軸為正值。
TYPE_AMBIENT_TEMPERATURE 溫度感測器,單位是 ℃,返回當前的溫度。
TYPE_GAME_ROTATION_VECTOR 用來探測運動而不必受到電磁干擾的影響,因為它並不依賴於磁北極。
TYPE_GEOMAGNETIC_ROTATION_VECTOR 地磁旋轉矢量感測器,提供手機的旋轉矢量,當手機處於休眠狀態時,仍可以記錄設備的方位。
TYPE_GRAVITY 重力感測器簡稱 GV-sensor,單位是 $m/s^2%,測量應用於設備X、Y、Z軸上的重力。在地球上,重力數值為9.8,
TYPE_GYROSCOPE 陀螺儀感測器叫做Gyro-sensor,返回x、y、z三軸的角加速度數據。單位是 radians/second。
TYPE_GYROSCOPE_UNCALIBRATED 未校準陀螺儀感測器,提供原始的、未校準、補償的陀螺儀數據,用於後期處理和融合定位數據。
TYPE_LIGHT 光線感應感測器檢測實時的光線強度,光強單位是lux,其物理意義是照射到單位面積上的光通量。
TYPE_LINEAR_ACCELERATION 線性加速度感測器簡稱LA-sensor。線性加速度感測器是加速度感測器減去重力影響獲取的數據。單位是 m/s2。
TYPE_MAGNETIC_FIELD 磁力感測器簡稱為M-sensor,返回 x、y、z 三軸的環境磁場數據。該數值的單位是微特斯拉(micro-Tesla),用uT表示。單位也可以是高斯(Gauss),1Tesla=10000Gauss。硬體上一般沒有獨立的磁力感測器,磁力數據由電子羅盤感測器提供(E-compass)。電子羅盤感測器同時提供方向感測器數據。
TYPE_MAGNETIC_FIELD_UNCALIBRATED 未校準磁力感測器,提供原始的、未校準的磁場數據。
TYPE_ORIENTATION 方向感測器簡稱為O-sensor,返回三軸的角度數據,方向數據的單位是角度。為了得到精確的角度數據,E-compass 需要獲取 G-sensor 的數據,經過計算生產 O-sensor 數據,否則只能獲取水平方向的角度。方向感測器提供三個數據,分別為azimuth、pitch和roll:
azimuth: 方位,返回水平時磁北極和 Y 軸的夾角,范圍為0°至360°。0°為北,90°為東,180°為南,270°為西。
pitch: x 軸和水平面的夾角,范圍為-180°至180°。當 z 軸向 y 軸轉動時,角度為正值。
roll: y 軸和水平面的夾角,由於歷史原因,范圍為-90°至90°。當 x 軸向 z 軸移動時,角度為正值。
TYPE_PRESSURE 壓力感測器,單位是hPa(百帕斯卡),返回當前環境下的壓強。
TYPE_PROXIMITY 接近感測器檢測物體與手機的距離,單位是厘米。一些接近感測器只能返回遠和近兩個狀態,因此,接近感測器將最大距離返回遠狀態,小於最大距離返回近狀態。
TYPE_RELATIVE_HUMIDITY 濕度感測器,單位是 %,來測量周圍環境的相對濕度。
TYPE_ROTATION_VECTOR 旋轉矢量感測器簡稱RV-sensor。旋轉矢量代表設備的方向,是一個將坐標軸和角度混合計算得到的數據。RV-sensor輸出三個數據:
x*sin(theta/2)
y*sin(theta/2)
z*sin(theta/2)
sin(theta/2)是 RV 的數量級。RV 的方向與軸旋轉的方向相同。RV 的三個數值,與cos(theta/2)組成一個四元組。
TYPE_SIGNIFICANT_MOTION 特殊動作觸發感測器。
TYPE_STEP_COUNTER 計步感測器,用於記錄激活後的步伐數。
TYPE_STEP_DETECTOR 步行檢測感測器,用戶每走一步就觸發一次事件。
TYPE_TEMPERATURE 溫度感測器,目前已被TYPE_AMBIENT_TEMPERATURE替代。