Android 之 感測器 應用

2021-07-09 11:02:59 字數 1518 閱讀 1244

感測器的使用

1.感測器型別:

方向、加速度(重力)、光線、磁場、距離(臨近性)、溫度等。

方向感測器:   sensor.type_orientation

加速度(重力)感測器: sensor.type_accelerometer

光線感測器:    sensor.type_light

磁場感測器:   sensor.type_magnetic_field

距離(臨近性)感測器: sensor.type_proximity

溫度感測器:   sensor.type_temperature

2. //獲取某種型別的感應器

sensor sensor = sensormanager.getdefaultsensor(sensor.type_accelerometer);

//註冊監聽,獲取感測器變化值

sensormanager.registerlistener(listener, sensor, sensormanager.sensor_delay_game);

上面第三個引數為取樣率:最快、遊戲、普通、使用者介面。

當應用程式請求特定的取樣率時,其實只是對感測器子系統的乙個建議,不保證特定的取樣率可用。

最快: sensormanager.sensor_delay_fastest

最低延遲,一般不是特別敏感的處理不推薦使用,該種模式可能造成手機電力大量消耗,由於傳遞的為原始資料,演算法不處理好將會影響遊戲邏輯和ui的效能。

遊戲: sensormanager.sensor_delay_game

遊戲延遲,一般絕大多數的實時性較高的遊戲都使用該級別。

普通: sensormanager.sensor_delay_normal

標準延遲,對於一般的益智類或easy級別的遊戲可以使用,但過低的取樣率可能對一些賽車類遊戲有跳幀現象。

使用者介面: sensormanager.sensor_delay_ui

一般對於螢幕方向自動旋轉使用,相對節省電能和邏輯處理,一般遊戲開發中我們不使用。

3.

public class mainactivity extends activity 

/*** 得到具體的感應器

*/

@override

protected void onresume()

@override

protected void onpause()

private sensoreventlistener listener = new sensoreventlistener()

}/**

* 當感測器的精度發生變化呼叫

*/

@override

public void onaccuracychanged(sensor sensor, int accuracy)

};}

**:

上面的注釋對 x y z 的作用進行了比較好理解的說明,比看官方文件應該要好理解多了(可能是我英語不行啊。。。)。

Android感測器的應用

安卓裝置上有很多感測器如何呼叫它們呢?1 首先是先獲得sensormanager物件 sensormanager manager sensormanager getsystemservice context.sensor service 2 利用sensormanager物件獲得sensor物件 獲...

Android感測器(一) 感測器列表

感測器型別有很多種 每個android手機含有其中幾種感測器 通過乙個小例子實現 tx1 textview findviewbyid r.id textview01 從感測器管理器中獲得全部的感測器列表 listallsensors initsensors 顯示有多少個感測器 tx1.settext...

Android感測器(二) 加速度感測器

android 感測器 二 加速度感測器 感測器理解 o1座標系是以手機左下角為原點,固定在手機上的座標系。xyz的值為手機加速度在o1座標系中的加速度分量,向量和為手機加速度。獲取加速度感測器的三個引數 float x event.values 0 float y event.values 1 f...