第 12 章 Android 特色開發(fā), 使用傳感器

1###傳感器介紹
手機(jī)中內(nèi)置的傳感器是一種微型的物理設(shè)備,它能夠探測(cè)、感受到外界的信號(hào),并按一定規(guī)律轉(zhuǎn)換成我們所需要的信息。

Android 手機(jī)通常都會(huì)支持多種類型的傳感器,如光照傳感右器、加速度傳感器、地磁傳感器、壓力傳感器、溫度傳感器等。

雖然 Android 系統(tǒng)支持十余種傳感器的類型,但是手機(jī)里的傳感器設(shè)備卻是有限的,基本上不會(huì)有哪部手機(jī)能夠支持全部的傳感器功能。

12.2光照傳感器

12.2.1光照傳感器的用法

SensorManager是系統(tǒng)所有傳感器的管理器.現(xiàn)貨區(qū)SensorManager的實(shí)例.

SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);

SensorManager的getDefaultSensor()用于得到任意的傳感器類型.

Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);

通過(guò)SensorEventListener實(shí)現(xiàn)對(duì)傳感器型號(hào)的監(jiān)聽.他是個(gè)借口,定義了onSensorChanged()和onAccuracyChanged().

SensorEventListener listener = new SensorEventListener() {
  @Override
  public void onAccuracyChanged(Sensor sensor, int accuracy) {
  }
  @Override
  public void onSensorChanged(SensorEvent event) {
  }
};

當(dāng)傳感器精度變化時(shí),調(diào)用onAccuracyChanged();當(dāng)傳感器的數(shù)值發(fā)生變化時(shí),調(diào)用onSensorChanged().onSensorChanged()的闡述SensorEvent包含了一個(gè)valuse數(shù)組,所有的信息都存儲(chǔ)在這里.

SensorEventListener需要SensorManager調(diào)用registerListener()方法注冊(cè)才可以生效.registerListener()接受三個(gè)參數(shù),SensorEventListener,Sensor,和更新速率.第三個(gè)參數(shù)是用于表示傳感器輸出信息的更新速率,共有 SENSOR_DELAY_UI、 SENSOR_DELAY_NORMAL、SENSOR_DELAY_GAME 和 SENSOR_DELAY_FASTEST 這四種值可選,它們的更新速率是依次遞增的。

當(dāng)程序退出或者傳感器使用完畢時(shí),要調(diào)用unregisterListener()釋放資源.

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android系統(tǒng)提供了對(duì)傳感器的支持,如果手機(jī)設(shè)備的硬件提供了這些傳感器,Android應(yīng)用可以通過(guò)傳感器來(lái)獲取...
    trampcr閱讀 4,494評(píng)論 3 12
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,554評(píng)論 19 139
  • 最近在搞一個(gè)自己的App,突發(fā)一個(gè)想法,給App加一個(gè)搖一搖隨機(jī)查看圖片的功能,這樣可以使得用戶在使用App的時(shí)候...
    _SOLID閱讀 19,542評(píng)論 1 31
  • 傳感器 傳感器Sensor是一種檢測(cè)裝置,能感受到被測(cè)量的信息,并能將感受到的信息,按一定規(guī)律變換成為電信號(hào)或其他...
    Reathin閱讀 6,588評(píng)論 0 5
  • 有多少人小時(shí)候抗拒高領(lǐng)毛衣?土氣又臃腫,連金宇彬歐巴都快要hold不住啊! 記憶中的高領(lǐng)毛衣絕對(duì)是媽媽們的最愛,就...
    細(xì)七閱讀 171評(píng)論 0 0

友情鏈接更多精彩內(nèi)容