安卓感測器開發

2021-07-15 19:16:29 字數 2345 閱讀 8670

昨天利用vibrator將手機改造成振動器,女票大人很滿意,今天再接再厲,研究一下android感測器如何開發……

主要涉及到三個類,sensor, sensormanager, sensoreventlistener。看名字就知道大概意思了,sensor感測器,sensormanager感測器管理者, sensoreventlistener感測器事件監聽。

sensormanager開發者文件給的類簡介,是這麼介紹的:

sensormanager lets you access the device』s sensors. get an instance

of this class bycalling context.getsystemservice()with the argument sensor_service.

always make sure to disable sensors you don』t need, especially when

your activity is paused. failing to do so can drain the battery in

just a few hours. note that the system will not disable sensors

automatically when the screen turns off.

說了一點注意事項,就是當不需要的時候,一定要確保禁用感測器了,否則電量會快速耗盡

但是也有乙個感測器是例外:trigger sensor。不深究,看名字猜一下,應該是不能禁用觸控感測器。

開發者文件的例子很好,拷貝過來講解。

public

class

sensoractivity

extends

activity, implements

sensoreventlistener

protected

void

onresume()

protected

void

onpause()

//這是介面類sensoreventlistener必須實現的方法

public

void

onaccuracychanged(sensor sensor, int accuracy)

public

void

onsensorchanged(sensorevent event)

}

由該例子可知開發感測器應用的大致步驟:

1. 呼叫context的getsystemservice(sensor_service)方法來獲取sensormanager物件

2. 呼叫sensormanager的getdefaultsensor( )方法來獲取指定型別的感測器

3.在activity的onresume()方法中呼叫sensormanager的registerlistener()方法,為指定的感測器註冊***,程式通過實現***即可獲取感測器傳回來的資料。

registerlistener()方法有三個引數,分別如下:

istener a sensoreventlistener object.

sensor the sensor to registerto.

samplingperiodus 獲取資料的頻率

最後實現乙個例子,該例子可在《瘋狂的android講義》p622中找到。

public

class

mainactivity

extends

activity

implements

sensoreventlistener

@override

protected

void

onresume()

@override

protected

void

onstop()

@override

public

void

onsensorchanged(sensorevent sensorevent)

@override

public

void

onaccuracychanged(sensor sensor, int i)

}

安卓感測器開發之指南針

很簡單,主要是一些常用感測器的監聽,指南針還是挺好用的。布局 程式 package zhinanzheng.com import android.hardware.sensor import android.hardware.sensorevent import android.hardware.s...

安卓開發中光線感測器的運用步驟

public class mainactivity extends implements sensoreventlistener sensor light manager.getdefaultsensor sensor.type light 獲取光線感測器的管理 onresume 中註冊感測器,先讓...

2 感測器 動作感測器

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