package com.eboy.testyaoyiyao;

import java.text.SimpleDateFormat;
import java.util.Date;

import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.os.Vibrator;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends Activity implements SensorEventListener {
//Sensor管理器
private SensorManager mSensorManager = null;

//震动
private Vibrator mVibrator = null;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
mVibrator = (Vibrator)getSystemService(VIBRATOR_SERVICE);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}

public void onAccuracyChanged(Sensor arg0, int arg1) {
// TODO Auto-generated method stub

}

public void onSensorChanged(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()) + "手机摇动了...");
}
}
}

@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();

mSensorManager.registerListener(this, mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL);
}

@Override
protected void onStop() {
// TODO Auto-generated method stub
mSensorManager.unregisterListener(this);
super.onStop();
}

@Override
protected void onPause() {
// TODO Auto-generated method stub
mSensorManager.unregisterListener(this);
super.onPause();
}
}

更多相关文章

  1. Android的SensorEventListener例子(摇晃手机)
  2. Android中获取和设置手机的壁纸
  3. android中设置手机的语言系
  4. Android手机访问web服务器(post请求)
  5. Android的布局管理器与java中的实现方式不同
  6. [Android问答] 如何获得手机屏幕分辨率?
  7. 布局管理器
  8. android 获得手机信息
  9. android手机通讯录备份还原代码

随机推荐

  1. Android 相对布局 简单编程
  2. 获取android联系人信息
  3. Android(安卓)Service不被杀死
  4. android attr.xml
  5. Android虚线View
  6. Android 简史
  7. ViewPager介绍
  8. android RTSP流媒体播放
  9. android 查看apk中资源文件
  10. eclipse转Android studio