Android編程中光線傳感器的調(diào)用方法詳解
本文實例講述了Android編程中光線傳感器的調(diào)用方法。分享給大家供大家參考,具體如下:
1.activity如果要使用傳感器,就必須實現(xiàn)SensorEventListener接口
2.得到傳感器管理對象(sensormanager)
3.使用sensormanager.registerlistener 方法注冊指定的傳感器
4.在sensoreventlistener 接口中的onsensorchanged和onaccuracychanged方法中完成其他具體工作
public class TestActivity extends Activity {
private SensorManager sensorManager;
//第三步:對傳感器信號進行監(jiān)聽
private SensorEventListener listener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
//提示當前光照強度
Toast.makeText(TestActivity.this,
"當前光照強度:" + 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 的實例
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]有意義,表示光線的強度,最大值是120000.0f.
Gyroscope( 陀螺傳感器)
values,分別表示x,y,z軸的旋轉(zhuǎn)的角速度
Orientation(方向傳感器)
values[0] : 該值表示方位,也就是手機繞著z軸旋轉(zhuǎn)的角度. 0表示北(north),90表示動(east),180表示南(south),270表示西(west)
values[1]:表示傾斜度. x 軸傾斜時,該值變化,-180<= vaules[1] <= 180
values[2]: 表示沿y軸的滾動角度,-90<=values[2] <=90
在android2.3 sdk中,并不推薦使用sensor.TYPE_ORIENTATION,values[0]值,有時會出現(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ā)入門與進階教程》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android編程之光線傳感器用法詳解
- Android編程使用光線傳感器獲取光線強弱的方法【LightSensorManager封裝類】
- Android開發(fā)中方向傳感器定義與用法詳解【附指南針實現(xiàn)方法】
- Android開發(fā)中的重力傳感器用法實例詳解
- Android編程之方向傳感器用法示例
- android 傳感器(OnSensorChanged)使用介紹
- Android利用方向傳感器獲得手機的相對角度實例說明
- Android 利用方向傳感器實現(xiàn)指南針具體步驟
- Android 傳感器--光照傳感器詳解及使用
- Android重力傳感器實現(xiàn)滾動的彈球
- Android操作系統(tǒng)介紹之11種傳感器
- Android編程基于距離傳感器控制手機屏幕熄滅的方法詳解
相關(guān)文章
Android 深入探究自定義view之事件的分發(fā)機制與處理詳解
對于安卓程序員來說,自定義view簡直不要太重要,畢竟有很多功能,譬如圓形頭像這些,用單純的原生非常難以實現(xiàn),而用自定義view,簡直分分鐘2021-11-11
基于Android實現(xiàn)的文件同步設(shè)計方案
隨著用戶對自身數(shù)據(jù)保護意識的加強,讓用戶自己維護自己的數(shù)據(jù)也成了獨立開發(fā)產(chǎn)品時的一個賣點,若只針對少量的文件進行同步,則實現(xiàn)起來比較簡單,當針對一個多層級目錄同步時,情況就復(fù)雜多了,本文我分享下我的設(shè)計思路2023-10-10
Android使用selector修改TextView中字體顏色和背景色的方法
這篇文章主要介紹了Android使用selector修改TextView中字體顏色和背景色的方法,實例分析了selector方法的相關(guān)使用技巧,需要的朋友可以參考下2016-01-01
Android中用MediaRecorder進行錄影的實例代碼
這篇文章主要介紹了Android中用MediaRecorder進行錄影的實例代碼,有需要的朋友可以參考一下2014-01-01
Android設(shè)置TextView首行縮進示例代碼
使用過word的都會知道,在文字排版的時候經(jīng)常要設(shè)置首行縮進,這樣才會使排版更整齊,那么在Android中當需要設(shè)置首行縮進的時候該腫么辦呢,下面一起來看看。2016-08-08
MPAndroidChart繪制自定義運動數(shù)據(jù)圖表示例詳解
這篇文章主要為大家介紹了MPAndroidChart繪制自定義運動數(shù)據(jù)圖表示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Android波紋擴散效果之仿支付寶咻一咻功能實現(xiàn)波紋擴散特效
這篇文章主要介紹了Android波紋擴散效果之仿支付寶咻一咻功能實現(xiàn)波紋擴散特效的相關(guān)資料,需要的朋友可以參考下2016-02-02

