您的位置:首页 > 其它

Sensor传感器

2015-11-30 15:28 323 查看
光线传感器

package com.example.testsometing;

import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {
TextView tv_response;
SensorManager manager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv_response = (TextView) this.findViewById(R.id.response);

manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_LIGHT);
if(sensor != null){
manager.registerListener(listener, sensor,SensorManager.SENSOR_DELAY_NORMAL);
}
else{
tv_response.setText("设备无光线传感器");
}
}

SensorEventListener listener =  new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
//values数组的第一个数代表光照强度
float value = event.values[0];
tv_response.setText(value+"lux");
}

@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {

}
};

@Override
protected void onDestroy() {
super.onDestroy();
if(manager != null){
manager.unregisterListener(listener);
}
}
}


加速度传感器

package com.example.testsometing;

import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;

public class MainActivity extends Activity {
TextView tv_response;
SensorManager manager;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv_response = (TextView) this.findViewById(R.id.response);

manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
Sensor sensor = manager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
if(sensor != null){
manager.registerListener(listener, sensor,SensorManager.SENSOR_DELAY_NORMAL);
}
else{
tv_response.setText("设备无加速度传感器");
}
}

SensorEventListener listener =  new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {

float value_x = event.values[0];//x轴
float value_y = event.values[1];//y轴
float value_z = event.values[2];//z轴
tv_response.setText(value_x+":"+value_y+":"+value_z);
//模仿摇一摇
/*
float value_x = Math.abs(event.values[0]);//x轴
float value_y = Math.abs(event.values[1]);//y轴
float value_z = Math.abs(event.values[2]);//z轴
if(value_x > 15 || value_y > 15 || value_z > 15){
Toast.makeText(MainActivity.this, "摇一摇啊~摇一摇~", Toast.LENGTH_LONG).show();
}
*/
}

@Override
public void onAccuracyChanged(Sensor arg0, int arg1) {

}
};

@Override
protected void onDestroy() {
super.onDestroy();
if(manager != null){
manager.unregisterListener(listener);
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: