感測器的使用

2022-02-01 07:40:34 字數 2606 閱讀 4118

感測器型別:方向、加速度(重力)、光線、磁場、距離(臨近性)、溫度等。

方向感測器:   sensor.type_orientation

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

光線感測器:    sensor.type_light

磁場感測器:   sensor.type_magnetic_field

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

溫度感測器:   sensor.type_temperature

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

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

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

指南針demo:

1

package

com.android.hzy.sensor;23

import

4import

android.content.context;

5import

android.hardware.sensor;

6import

android.hardware.sensorevent;

7import

android.hardware.sensoreventlistener;

8import

android.hardware.sensormanager;

9import

android.os.bundle;

10import

android.view.animation.animation;

11import

android.view.animation.rotateanimation;

12import

android.widget.imageview;

1314

public

class mainactivity extends

activity

3637

/**38

* 第三個引數為取樣率:最快、遊戲、普通、使用者介面。當應用程式請求特定的取樣率時,其實只是對感測器子系統的乙個建議,不保證特定的取樣率可用。

39最快: sensormanager.sensor_delay_fastest

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

41遊戲: sensormanager.sensor_delay_game

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

43普通: sensormanager.sensor_delay_normal

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

45使用者介面: sensormanager.sensor_delay_ui

46*/

4748

@override

49protected

void

onresume()

5556

@override

57protected

void

onpause()

6364

/**65

* 感測器事件監聽

66*

@author

administrator67*

68*/

69private

final

class mysensoreventlistener implements

sensoreventlistener

9091

@override

92public

void onaccuracychanged(sensor sensor, int

accuracy)

9697}98

99 }

感測器的使用

1.定義sensor 管理器。2.在oncreate 中獲取感測器管理服務,msensormanager sensormanager getsystemservice sensor service 從系統服務中獲得。3.在 onresume 註冊系統某某感測器的 msensormanager reg...

感測器的使用

感測器型別 方向 加速度 重力 光線 磁場 距離 臨近性 溫度等。方向感測器 sensor.type orientation 加速度 重力 感測器 sensor.type accelerometer 光線感測器 sensor.type light 磁場感測器 sensor.type magnetic...

2 感測器 動作感測器

動作感測器概述 android平台支援一些用於監視裝置動作的感測器 這樣的感測器共有5個 其中兩個 加速感測器和陀螺儀感測器 是純的硬體感測器。另外三個 重力感測器 線性加速感測器和旋轉向量感測器 可能是硬體感測器,也可能是軟體感測器。例如,在一些android裝置中,這些基於軟體的感測器會從加速和...