Android編程中光線傳感器的調(diào)用方法詳解
本文實(shí)例講述了Android編程中光線傳感器的調(diào)用方法。分享給大家供大家參考,具體如下:
1.activity如果要使用傳感器,就必須實(shí)現(xiàn)SensorEventListener接口
2.得到傳感器管理對象(sensormanager)
3.使用sensormanager.registerlistener
方法注冊指定的傳感器
4.在sensoreventlistener 接口中的onsensorchanged和onaccuracychanged方法中完成其他具體工作
public class TestActivity extends Activity { private SensorManager sensorManager; //第三步:對傳感器信號進(jìn)行監(jiān)聽 private SensorEventListener listener = new SensorEventListener() { @Override public void onSensorChanged(SensorEvent event) { //提示當(dāng)前光照強(qiáng)度 Toast.makeText(TestActivity.this, "當(dāng)前光照強(qiáng)度:" + event.values[0] + "勒克斯", Toast.LENGTH_SHORT).show(); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //第一步:獲取 SensorManager 的實(shí)例 sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); //第二步:獲取 Sensor 傳感器類型 Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); //第四步:注冊 SensorEventListener sensorManager.registerListener(listener,sensor,SensorManager.SENSOR_DELAY_NORMAL); } @Override protected void onDestroy() { super.onDestroy(); //傳感器使用完畢,釋放資源 if(sensorManager!=null){ sensorManager.unregisterListener(listener); } } }
傳感器類型
加速傳感器(Sensor.TYPE_ACCELEROMETER
)
磁場傳感器(Sensor.TYPE_MAGNETIC_FLELD
)
光線傳感器 (Sensor.TYPE_LIGHT
)
方向傳感器 (TYPE_ORIENTATION
)
Values數(shù)值
Accelerometer(加速傳感器)
values[0] :沿x軸方向加速度
values[1]: 沿 y 軸方向的加速度
values[2] : 沿 z 軸方向的加速度,也就是重力加速度
Gravity(重力感應(yīng)器)
values數(shù)組中的三個元素分別代表x軸,y軸,z軸的重力大小
Light(光線傳感器)
values數(shù)組只有第一個元素values[0]有意義,表示光線的強(qiáng)度,最大值是120000.0f.
Gyroscope( 陀螺傳感器)
values,分別表示x,y,z軸的旋轉(zhuǎn)的角速度
Orientation(方向傳感器)
values[0] : 該值表示方位,也就是手機(jī)繞著z軸旋轉(zhuǎn)的角度. 0表示北(north),90表示動(east),180表示南(south),270表示西(west)
values[1]:表示傾斜度. x 軸傾斜時(shí),該值變化,-180<= vaules[1] <= 180
values[2]: 表示沿y軸的滾動角度,-90<=values[2] <=90
在android2.3 sdk中,并不推薦使用sensor.TYPE_ORIENTATION
,values[0]值,有時(shí)會出現(xiàn)異常。官方推薦使用SensorManager.getOrientaion
的方法來獲得正確的方向
數(shù)值更新速度
SENSOR_DELAY_FASTEST: 以最快的速度獲得傳感器數(shù)據(jù)
SENSOR_DELAY_GAME: 適合與在游戲中獲得傳感器數(shù)據(jù)
SENSOR_DELAY_NORMAL: 以一般的速度獲得傳感器數(shù)據(jù)
SENSOR_DELAY_UI:適合于在ui空間中獲得數(shù)據(jù)
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android基本組件用法總結(jié)》、《Android視圖View技巧總結(jié)》、《Android布局layout技巧總結(jié)》、《Android資源操作技巧匯總》、《Android文件操作技巧匯總》、《Android開發(fā)入門與進(jìn)階教程》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計(jì)有所幫助。
- Android編程之光線傳感器用法詳解
- Android編程使用光線傳感器獲取光線強(qiáng)弱的方法【LightSensorManager封裝類】
- Android開發(fā)中方向傳感器定義與用法詳解【附指南針實(shí)現(xiàn)方法】
- Android開發(fā)中的重力傳感器用法實(shí)例詳解
- Android編程之方向傳感器用法示例
- android 傳感器(OnSensorChanged)使用介紹
- Android利用方向傳感器獲得手機(jī)的相對角度實(shí)例說明
- Android 利用方向傳感器實(shí)現(xiàn)指南針具體步驟
- Android 傳感器--光照傳感器詳解及使用
- Android重力傳感器實(shí)現(xiàn)滾動的彈球
- Android操作系統(tǒng)介紹之11種傳感器
- Android編程基于距離傳感器控制手機(jī)屏幕熄滅的方法詳解
相關(guān)文章
Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的方法匯總
這篇文章主要介紹了Android實(shí)現(xiàn)計(jì)時(shí)與倒計(jì)時(shí)的方法匯總,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-06-06Android編程使用pull方式解析xml格式文件的方法詳解
這篇文章主要介紹了Android編程使用pull方式解析xml格式文件的方法,結(jié)合實(shí)例形式分析了Android調(diào)用pull解析器操作xml格式文件的步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-07-07Android模擬強(qiáng)制下線通知功能實(shí)例代碼
這篇文章主要介紹了Android模擬強(qiáng)制下線通知功能實(shí)例代碼,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下2017-03-03Android開發(fā)新手必須知道的10大嚴(yán)重錯誤
這篇文章主要介紹了Android開發(fā)新手必須知道的10大嚴(yán)重錯誤,總結(jié)分析了Android開發(fā)中幫助文件、開發(fā)工具、社區(qū)等的重要性以及重要的開發(fā)原則,需要的朋友可以參考下2016-01-01Android自定義View實(shí)現(xiàn)簡單炫酷的球體進(jìn)度球?qū)嵗a
這篇文章主要給大家介紹了關(guān)于Android自定義View實(shí)現(xiàn)簡單炫酷的球體進(jìn)度球的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對各位Android開發(fā)者們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01Android實(shí)現(xiàn)衛(wèi)星菜單效果
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)衛(wèi)星菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07Android Studio 3.6 正式版終于發(fā)布了,快來圍觀
Android Studio 3.6 正式版終于發(fā)布了,值得興奮呀,畢竟 3.5 大版本更新也已經(jīng)差不多半年了,撒花撒花!這次更新又更新了什么呢?快來跟隨小編一起看看吧2020-02-02