Android传感器应用之:摇一摇小例子

public class MainActivity extends Activity {/**SensorManager对象*/private SensorManager mSensorManager;/**Vibrator对象*/private Vibrator mVibrator;/**定义一个常量值*/private static final int SENSOR_VALUE = 100;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/**取得系统感应管理器服务SensorManager*/mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);/**获取震动服务mVibrator*/mVibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE);}@Overrideprotected void onResume() {super.onResume();/**在onResume中注册监听*/if (mSensorManager != null) {mSensorManager.registerListener(mSensorEventListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);}}@Overrideprotected void onPause() {super.onPause();/**取消注册监听事件*/if (mSensorManager != null) {mSensorManager.unregisterListener(mSensorEventListener);}}/**监听手机摇晃的监听器实现*/private SensorEventListener mSensorEventListener = new SensorEventListener() {@Overridepublic void onSensorChanged(SensorEvent event) {/**传感器数据变动*//**获取手机上三个方向上的感应坐标*/float[] values = event.values;float x = values[0];float y = values[1];float z = values[2];int sensorValue = 20;if (Math.abs(x) > sensorValue || Math.abs(y) > sensorValue || Math.abs(z) > sensorValue) {/**产生震动,时间200毫秒*/mVibrator.vibrate(200);/**hanler发信息出去,等待处理*/Message msg = new Message();msg.what = SENSOR_VALUE;handler.sendMessage(msg);}}@Overridepublic void onAccuracyChanged(Sensor arg0, int arg1) {/*** 这里指传感器精度发生改变:这种情况中,系统会调用onAccuracyChanged()方法,,它提供了你要引用的发生精度变化的Sensor对象。* 精度使用以下四个状态常量之一来代表的:* SENSOR_STATUS_ACCURACY_LOW* SENSOR_STATUS_ACCURACY_MEDIUM* SENSOR_STATUS_ACCURACY_HIGH* SENSOR_STATUS_UNRELIABLE*/}};@SuppressLint("HandlerLeak")Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {super.handleMessage(msg);switch (msg.what) {case SENSOR_VALUE:Toast.makeText(MainActivity.this, "手机摇晃了….", Toast.LENGTH_SHORT).show();break;}}};}

人生就是要感受美丽的善良的,丑恶的病态的。

Android传感器应用之:摇一摇小例子

相关文章:

你感兴趣的文章:

标签云: