方向感測器android
❶ android 方向感測器和電子羅盤
明顯不是一個東西。方向感測器是手機里的一個感應方向並能在方向改變時發出通知的一個裝置。電子羅盤應該是基於感測器的應用軟體。
❷ Android感測器的使用
目前每部Android 手機裡面都會內置有許多的感測器,它們能夠監測到各種發生在手機上的物理事件,而我們只要靈活運用這些事件就可以編寫出很多好玩的應用程序。下面我們開始簡單的感測器使用的學習。
1.手機內置的感測器是一種微型的物理設備,它能夠探測、感受到外界的信號,並按一定規律轉換成我們所需要的信息。
2.Android手機通常會支持多種類型的感測器,如光照感測器,地磁感測器,壓力感測器,溫度感測器。
3.Android手機只是負責將這些感測器所輸出的信息傳遞給我們,至於具體如何去利用這些信息就要我們在程序中具體去利用這些得到的數據去處理了。
從Android1.5開始,系統內置了對多達八種感測器的支持,他們分別是:加速度感測器(accelerometer)、陀螺儀(gyroscope)、環境光照感測器(light)、磁力感測器(magnetic field)、方向感測器(orientation)、壓力感測器(pressure)、距離感測器(proximity)和溫度感測器(temperature)。
1.Android所有的感測器都歸感測器管理器SensorManager管理,如下是獲得感測器的方法:
2.獲取某個或者某些感測器的方法有如下三種:
第一種:獲取某種感測器:
第二種:獲取某種感測器列表:
第三種:獲取所有感測器列表:
❸ 求安卓下所有感測器的簡介
1 加速度感測器
加速度感測器又叫G-sensor,返回x、y、z三軸的加速度數值。
該數值包含地心引力的影響,單位是m/s^2。
將手機平放在桌面上,x軸默認為0,y軸默認0,z軸默認9.81。
將手機朝下放在桌面上,z軸為-9.81。
將手機向左傾斜,x軸為正值。
將手機向右傾斜,x軸為負值。
將手機向上傾斜,y軸為負值。
將手機向下傾斜,y軸為正值。
加速度感測器可能是最為成熟的一種mems產品,市場上的加速度感測器種類很多。
手機中常用的加速度感測器有BOSCH(博世)的BMA系列,AMK的897X系列,ST的LIS3X系列等。
這些感測器一般提供±2G至±16G的加速度測量范圍,採用I2C或SPI介面和MCU相連,數據精度小於16bit。
2 磁力感測器
磁力感測器簡稱為M-sensor,返回x、y、z三軸的環境磁場數據。
該數值的單位是微特斯拉(micro-Tesla),用uT表示。
單位也可以是高斯(Gauss),1Tesla=10000Gauss。
硬體上一般沒有獨立的磁力感測器,磁力數據由電子羅盤感測器提供(E-compass)。
電子羅盤感測器同時提供下文的方向感測器數據。
3 方向感測器
方向感測器簡稱為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軸移動時,角度為正值。
電子羅盤在獲取正確的數據前需要進行校準,通常可用8字校準法。
8字校準法要求用戶使用需要校準的設備在空中做8字晃動,
原則上盡量多的讓設備法線方向指向空間的所有8個象限。
手機中使用的電子羅盤晶元有AKM公司的897X系列,ST公司的LSM系列以及雅馬哈公司等等。
由於需要讀取G-sensor數據並計算出M-sensor和O-sensor數據,
因此廠商一般會提供一個後台daemon來完成工作,電子羅盤演算法一般是公司私有產權。
4 陀螺儀感測器
陀螺儀感測器叫做Gyro-sensor,返回x、y、z三軸的角加速度數據。
角加速度的單位是radians/second。
根據Nexus S手機實測:
水平逆時針旋轉,Z軸為正。
水平逆時針旋轉,z軸為負。
向左旋轉,y軸為負。
向右旋轉,y軸為正。
向上旋轉,x軸為負。
向下旋轉,x軸為正。
ST的L3G系列的陀螺儀感測器比較流行,iphone4和google的nexus s中使用該種感測器。
5 光線感應感測器
光線感應感測器檢測實時的光線強度,光強單位是lux,其物理意義是照射到單位面積上的光通量。
光線感應感測器主要用於Android系統的LCD自動亮度功能。
可以根據采樣到的光強數值實時調整LCD的亮度。
6 壓力感測器
壓力感測器返回當前的壓強,單位是百帕斯卡hectopascal(hPa)。
7 溫度感測器
溫度感測器返回當前的溫度。
8 接近感測器
接近感測器檢測物體與手機的距離,單位是厘米。
一些接近感測器只能返回遠和近兩個狀態,
因此,接近感測器將最大距離返回遠狀態,小於最大距離返回近狀態。
接近感測器可用於接聽電話時自動關閉LCD屏幕以節省電量。
一些晶元集成了接近感測器和光線感測器兩者功能。
下面三個感測器是Android2新提出的感測器類型,目前還不太清楚有哪些應用程序使用。
9 重力感測器
重力感測器簡稱GV-sensor,輸出重力數據。
在地球上,重力數值為9.8,單位是m/s^2。
坐標系統與加速度感測器相同。
當設備復位時,重力感測器的輸出與加速度感測器相同。
10 線性加速度感測器
線性加速度感測器簡稱LA-sensor。
線性加速度感測器是加速度感測器減去重力影響獲取的數據。
單位是m/s^2,坐標系統與加速度感測器相同。
加速度感測器、重力感測器和線性加速度感測器的計算公式如下:
加速度 = 重力 + 線性加速度
11 旋轉矢量感測器
旋轉矢量感測器簡稱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)組成一個四元組。
RV的數據沒有單位,使用的坐標系與加速度相同。
❹ Android 中有哪些感測器的數據是可以分享的
目前 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替代。
❺ android 如何判斷手機是否有方向感測器
直接判斷SensorManager sm是否為空,為空的話就是另一個圖標
不是為空就是一個圖標,不過現在的手機一般都有方向感測器,這是基本的,三軸陀螺儀感測器就有可能會沒有,像方向感測器和光線感測器、加速度感測器一般都會有的。這些是基本智能手機的基本