packagecom.eboy.testyaoyiyao;importjava.text.SimpleDateFormat;importjava.util.Date;importandroid.app.Activity;importandroid.hardware.Sensor;importandroid.hardware.SensorEvent;importandroid.hardware.SensorEventListener;importandroid.hardware.SensorManager;importandroid.os.Bundle;importandroid.os.Vibrator;importandroid.view.Menu;importandroid.widget.TextView;public class MainActivity extends Activity implementsSensorEventListener {//Sensor管理器
private SensorManager mSensorManager = null;//震动
private Vibrator mVibrator = null;
@Overridepublic voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
mVibrator=(Vibrator)getSystemService(VIBRATOR_SERVICE);
}
@Overridepublic booleanonCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);return true;
}public void onAccuracyChanged(Sensor arg0, intarg1) {//TODO Auto-generated method stub
}public voidonSensorChanged(SensorEvent arg0) {//TODO Auto-generated method stub
int sensorType =arg0.sensor.getType();float[] values =arg0.values;if (sensorType ==Sensor.TYPE_ACCELEROMETER){if (Math.abs(values[0]) > 14 || Math.abs(values[1]) > 14 || Math.abs(values[2]) > 14){
mVibrator.vibrate(100);
TextView tv1=(TextView)findViewById(R.id.textView1);
SimpleDateFormat f=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss E");
tv1.setText(f.format(new Date()) + "手机摇动了...");
}
}
}
@Overrideprotected voidonResume() {//TODO Auto-generated method stub
super.onResume();
mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
}
@Overrideprotected voidonStop() {//TODO Auto-generated method stub
mSensorManager.unregisterListener(this);super.onStop();
}
@Overrideprotected voidonPause() {//TODO Auto-generated method stub
mSensorManager.unregisterListener(this);super.onPause();
}
}