Android傳感器SensorEventListener之加速度傳感器
這個(gè)類(我的是Activity中)繼承SensorEventListener接口
先獲取傳感器對(duì)象,再獲取傳感器對(duì)象的類型
//獲取傳感器管理對(duì)象
SensorManager mSensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
// 獲取傳感器的類型(TYPE_ACCELEROMETER:加速度傳感器)
Sensor mSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
這里我們除了可以獲取加速度傳感器之外,還可以獲取其他類型的傳感器,如:
- * Sensor.TYPE_ORIENTATION:方向傳感器。
- * Sensor.TYPE_GYROSCOPE:陀螺儀傳感器。
- * Sensor.TYPE_MAGNETIC_FIELD:磁場(chǎng)傳感器。
- * Sensor.TYPE_GRAVITY:重力傳感器。
- * Sensor.TYPE_LINEAR_ACCELERATION:線性加速度傳感器。
- * Sensor.TYPE_AMBIENT_TEMPERATURE:溫度傳感器。
- * Sensor.TYPE_LIGHT:光傳感器。
- * Sensor.TYPE_PRESSURE:壓力傳感器。
重寫注冊(cè)方法
@Override
protected void onResume(){
super.onResume();
//為加速度傳感器注冊(cè)監(jiān)聽(tīng)器
mSensorManager.registerListener(this, mSensor, SensorManager.SENSOR_DELAY_GAME);
}
重寫onSensorChanged方法
@Override
public void onSensorChanged(SensorEvent event){
values = event.values;
StringBuilder sb = new StringBuilder();
sb.append("X方向的加速度:");
sb.append(values[0]);
sb.append("/nY方向的加速度:");
sb.append(values[1]);
sb.append("/nZ方向的加速度:");
sb.append(values[2]);
mTextValue.setText(sb.toString());//輸出到Imageview上,就可看見(jiàn)加速度的變化
}
重寫取消監(jiān)聽(tīng)的方法
@Override
protected void onStop(){
super.onStop();
//取消監(jiān)聽(tīng)
mSensorManager.unregisterListener(this);
}
這樣就能獲取加速啦。
將values[]數(shù)組傳給需要使用的對(duì)象就能使用了。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
Android?掃碼槍輸入時(shí)屏蔽軟鍵盤和頂部狀態(tài)欄的解決方案
在Android設(shè)備上,使用掃碼槍時(shí)常遇到軟鍵盤和頂部狀態(tài)欄顯示問(wèn)題,本文介紹了在Android 7.1.2版本上,如何通過(guò)設(shè)置inputType為none屏蔽軟鍵盤,以及通過(guò)hideStatusBar和NoActionBar方法隱藏頂部狀態(tài)欄,以優(yōu)化掃碼槍使用界面,這些方法有助于提升使用掃碼槍場(chǎng)景的用戶體驗(yàn)2024-10-10
Android實(shí)現(xiàn)簡(jiǎn)單的下拉刷新控件
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)簡(jiǎn)單的下拉刷新控件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09
Android Studio一直處于Building的兩種解決方法
很多朋友都遇到過(guò)打開(kāi)別人的項(xiàng)目一直處于Building‘XXX’Gradle project info的情況。下面小編給大家?guī)?lái)了Android Studio一直處于Building的解決方法,感興趣的朋友一起看看吧2018-08-08
Android中驗(yàn)證碼倒計(jì)時(shí)的簡(jiǎn)單實(shí)現(xiàn)方法示例
最近開(kāi)發(fā)中在注冊(cè)獲取驗(yàn)證碼時(shí)候需要一個(gè)倒計(jì)時(shí)按鈕,找了相關(guān)的資料終于實(shí)現(xiàn)了,所以現(xiàn)在分享給大家,下面這篇文章主要給大家介紹了關(guān)于Android中驗(yàn)證碼倒計(jì)時(shí)簡(jiǎn)單實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考借鑒。2017-06-06
如何通過(guò)Android Logcat插件分析firebase崩潰問(wèn)題
android crash Crash(應(yīng)用崩潰)是由于代碼異常而導(dǎo)致App非正常退出,導(dǎo)致應(yīng)用程序無(wú)法繼續(xù)使用,所有工作都停止的現(xiàn)象,本文重點(diǎn)介紹如何通過(guò)Android Logcat插件分析firebase崩潰問(wèn)題,感興趣的朋友一起看看吧2024-01-01
Android編程實(shí)現(xiàn)打勾顯示輸入密碼功能
這篇文章主要介紹了Android編程實(shí)現(xiàn)打勾顯示輸入密碼功能,涉及Android控件布局及屬性相關(guān)操作技巧,需要的朋友可以參考下2017-02-02
Flutter開(kāi)發(fā)技巧ListView去除水波紋方法示例
這篇文章主要為大家介紹了Flutter開(kāi)發(fā)技巧ListView去除水波紋方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
Flutter交互并使用小工具管理其狀態(tài)widget的state詳解
這篇文章主要為大家介紹了Flutter交互并使用小工具管理其狀態(tài)widget的state詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12

