ANDROID的SENSOR相關資訊

來源:互聯網
上載者:User

1. Accelrator的x,y,z軸的正負向:

手機螢幕向上水平放置時: (x,y,z) = (0, 0, -10) 而不是 (0, 0, 10)
當手機頂部抬起時: y減小,且為負值
當手機底部抬起時: y增加,且為正值
當手機右側抬起時: x減小,且為負值
當手機左側抬起時: x增加,且為正值

2. Accelrator的z軸的變化:

手機螢幕向上水平放置時,z= -10
手機螢幕豎直放置時, z= 0
手機螢幕向下水平放置時,z= 10

3. 當x變為+5時, 手機畫面切換為豎向

當x變為-5時, 手機畫面切換為橫向

4. Android感應器相關的類在SDK1.1和SDK1.5中不一樣,因此實現代碼也不一樣

5. Android感應器類型分為:方向、加速表、光線、磁場、臨近性、溫度等

程式中分別為:
方向: SensorManager.SENSOR_ORIENTATION,
加速表: SensorManager.SENSOR_ACCELEROMETER
光線: SensorManager.SENSOR_LIGHT
磁場: SensorManager.SENSOR_MAGNETIC_FIELD
臨近性: SensorManager.SENSOR_PROXIMITY
溫度: SensorManager.SENSOR_TEMPERATURE
採樣率:最快、遊戲、普通、使用者介面。當應用程式請求特定的採樣率時,其實只是對Android感應器子系統的一個提示,或者一個建議。不保證特定的採樣率可用。
最快: SensorManager.SENSOR_DELAY_FASTEST
遊戲: SensorManager.SENSOR_DELAY_GAME
普通: SensorManager.SENSOR_DELAY_NORMAL
使用者介面: SensorManager.SENSOR_DELAY_UI
準確性: 高、低、中、不可靠。

6. Orientation Sensor三個座標的含義:

values[0]:方位角(水平旋轉角),簡單的說就是手機的頭現在朝向哪個方位,0=北、90=東、180=南、270=西(可是好像不太准)
values[1]:縱向旋轉角,0=面朝上平置、-90=垂直向上、-180/180=面朝下平置、90=垂直向下
values[2]:橫向旋轉角,0=朝前、90=往右倒、-90=往左倒

7. 自動偵測手機方向

要讓手機自動旋轉的話,只要在AndroidManifest.xml裡面把ORIENTAION改成sensor就好,可是要讓Activity 偵測到方向改變的話,要去抓Activity的Display:

1. if (getWindowManager().getDefaultDisplay().getOrientation() == 0) {
2. //Do some portrait
[...]

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.