1.先声明用户权限
代码:
2.MainActivity中通过SensorEventListener接口来实现这个功能 代码: public class MainAc extends Activity implements SensorEventListener{ /* (非 Javadoc) * @see android.app.Activity#onCreate(android.os.Bundle) */ Button button; TextView text; Vibrator vibrator; SensorManager sm=null; @Override protected void onCreate(Bundle savedInstanceState) { // TODO 自动生成的方法存根 super.onCreate(savedInstanceState); setContentView(R.layout.layout); button=(Button)findViewById(R.id.button); text=(TextView)findViewById(R.id.text); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO 自动生成的方法存根 text.setText(""); } }); } @Override public void onAccuracyChanged(Sensor arg0, int arg1) { // TODO 自动生成的方法存根 //do nothing. } @Override public void onSensorChanged(SensorEvent event) { // TODO 自动生成的方法存根 int sensortype=event.sensor.getType(); if(sensortype==Sensor.TYPE_ACCELEROMETER){ vibrator.vibrate(500); text.setText("shaking"); } } /* (非 Javadoc) * @see android.app.Activity#onPause() */ @Override protected void onPause() { // TODO 自动生成的方法存根 super.onPause(); sm.unregisterListener(this); } /* (非 Javadoc) * @see android.app.Activity#onResume() */ @Override protected void onResume() { // TODO 自动生成的方法存根 super.onResume(); sm.registerListener(this, sm.getDefaultSensor(Sensor.TYPE_ACCELEROMETER),SensorManager.SENSOR_DELAY_NORMAL); }}
可是会报Unable to resume activity错误,求高手拯救。。、。