public class MainActivity extends Activity implements SensorEventListener {    private Button clean_btn;    private SensorManager mSensorManager;    private Vibrator vibrator;    @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//得到传感器管理器mSensorManager=(SensorManager) getSystemService(SENSOR_SERVICE);vibrator=(Vibrator) getSystemService(VIBRATOR_SERVICE);clean_btn=(Button) findViewById(R.id.clean_btn);clean_btn.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {clean_btn.setText("重測");}});}    @Override    protected void onResume() {    super.onResume();    //获取加速传感器    mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),     SensorManager.SENSOR_DELAY_NORMAL);        }        @Override    protected void onStop() {    super.onStop();    mSensorManager.unregisterListener(this);    }        @Override    protected void onPause() {    super.onPause();    mSensorManager.unregisterListener(this);    }    @Overridepublic void onSensorChanged(SensorEvent event) { int sensortype=event.sensor.getType(); float[] values=event.values; if(sensortype==Sensor.TYPE_ACCELEROMETER) { /*因为一般正常情况下,任意轴数值最大就在9.8~10之间,只有在你突然摇动手机   *的时候,瞬时加速度才会突然增大或减少。   *所以,经过实际测试,只需监听任一轴的加速度大于14的时候,改变你需要的设置   *就OK了~~~   */   if(Math.abs(values[0])>14||Math.abs(values[1])>14||Math.abs(values[2])>14) { clean_btn.setText("搖一搖"); vibrator.vibrate(500); } }}@Overridepublic void onAccuracyChanged(Sensor sensor, int accuracy) { //当传感器精度改变时回调该方法,Do nothing. }}

应该还算比较简单,对了不要忘记加权限:

<uses-permission android:name="android.permission.VIBRATE"/>

更多相关文章

  1. 基于Android系统软件管理器源码
  2. Android传感器使用实例1
  3. Android学习之表格布局管理器
  4. Android布局管理器
  5. Android之声音管理器《AudioManager》的使用以及音量控制
  6. android中的计步问题及计步传感器分析

随机推荐

  1. Android 获取屏幕截图 和保存到本地的sd
  2. Windows下,Android Studio项目路径中包含
  3. android context的别
  4. Android Media Server - MediaPlayer - s
  5. Android 引入Airbnb Lottie框架后,报错Err
  6. Android请求web的方式
  7. Android 通过命令行启动Activity
  8. Android实现手机拍照功能
  9. Android学习【7】manifest文件讲解
  10. android 随手记 广播通知栏 二