这个是利用手机摇晃,做出一定反应。具体功能自己开发
package com.ray.test;

import android.R.integer;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorListener;
import android.hardware.SensorManager;
import android.os.Bundle;

public class SensorTest extends Activity implements SensorListener{
// private SensorManager sensorMgr;

// Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

private float x, y, z,last_x,last_y,last_z;
private long lastUpdate;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
setContentView(R.layout.main);

SensorManager sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);
Sensor sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);
sensorMgr.registerListener(this, SensorManager.SENSOR_ACCELEROMETER,
SensorManager.SENSOR_DELAY_GAME);
}

public void onAccuracyChanged(int sensor, int accuracy) {
// TODO Auto-generated method stub

}

private static final int SHAKE_THRESHOLD = 5000;
//这个控制精度,越小表示反应越灵敏

public void onSensorChanged(int sensor, float[] values) {
// TODO Auto-generated method stub
if(sensor == SensorManager.SENSOR_ACCELEROMETER){
long curTime = System.currentTimeMillis();
//每100毫秒检测一次
if((curTime-lastUpdate)>100){
long diffTime = (curTime-lastUpdate);
lastUpdate = curTime;

x = values[SensorManager.DATA_X];

y = values[SensorManager.DATA_Y];

z = values[SensorManager.DATA_Z];
float speed = Math.abs(x+y+z-last_x-last_y-last_z)/diffTime*10000;
if(speed>SHAKE_THRESHOLD){
//这里写上自己的功能代码
setTitle("x="+(int)x+","+"y="+(int)y+","+"z="+(int)z);
}
last_x = x;
last_y = y;
last_z = z;
}
}
}
}

更多相关文章

  1. android 和JS互调
  2. java.lang.ClassCastException: com.google.gson.internal.Linke
  3. 【Android(安卓)Native Code开发系列】三 Android源码的编译环境
  4. Android(安卓)Studio 2.0 正式版发布啦 (首次中文翻译)
  5. android 学习使用Activity转场动画及shareElement
  6. android webview 遇到android.os.FileUriExposedException错误
  7. Android的源代码下载教程
  8. android第一行代码实战篇——一个小错误
  9. Android(安卓)4.4 KitKat 更新内容

随机推荐

  1. android 开发对gif解码(适配android 4.2、
  2. RealtiveLayout(相对布局属性)
  3. ListView 常用属性 详解
  4. Android(安卓)Studio apk系统签名和版本
  5. Android控件之EditText(输入文本框控件)
  6. android:installLocation简析
  7. Android(安卓)图书总汇
  8. Android(安卓)API中文文档EditText
  9. Shape
  10. android开发必看资源URL