主要介绍一下android的加速传感器的简单用法,模拟摇一摇 ,如果x,y,z三个方向的加速度超过了15,就会弹出Toast,当然你可以设置更复杂的策略,比如判断间隔

代码如下

public class MainActivity extends Activity {    private SensorManager sensorManager;    private TextView textView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);        Sensor sensor = sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);        sensorManager.registerListener(sensorEventListener,sensor,SensorManager.SENSOR_DELAY_NORMAL);    }    private SensorEventListener sensorEventListener = new SensorEventListener() {        @Override        public void onSensorChanged(SensorEvent sensorEvent) {            float xValue = Math.abs(sensorEvent.values[0]);            float yValue = Math.abs(sensorEvent.values[1]);            float zvalue = Math.abs(sensorEvent.values[2]);            if (xValue > 15||yValue > 15||zvalue > 15){                Toast.makeText(MainActivity.this,"摇一摇",Toast.LENGTH_LONG).show();            }        }        @Override        public void onAccuracyChanged(Sensor sensor, int i) {        }    };    @Override    protected void onDestroy() {        if (sensorManager != null){            sensorManager.unregisterListener(sensorEventListener);        }        super.onDestroy();    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.menu_main, menu);        return true;    }    @Override    public boolean onOptionsItemSelected(MenuItem item) {        // Handle action bar item clicks here. The action bar will        // automatically handle clicks on the Home/Up button, so long        // as you specify a parent activity in AndroidManifest.xml.        int id = item.getItemId();        //noinspection SimplifiableIfStatement        if (id == R.id.action_settings) {            return true;        }        return super.onOptionsItemSelected(item);    }}

更多相关文章

  1. android中LayoutInflater的使用
  2. Android(安卓)EditView用法小结
  3. android背景选择器selector用法汇总
  4. android:launchMode="singleTask" 与 onNewIntent(Intent intent
  5. android背景选择器selector用法汇总
  6. Android(安卓)图片选择器用法
  7. android开发之interpolator的用法详解
  8. android字体闪烁动画(线程)
  9. Android(安卓)ValueAnimator和ObjectAnimator的高级用法(代码实现

随机推荐

  1. Android-Task Affinity
  2. Android自带音乐播放器专辑图片相同的问
  3. 使用Manifest Editor
  4. 用android studio写一个简单的计算器
  5. Android中View,SurfaceView和GLSurfaceVie
  6. Android开发底部点击按钮从屏幕底部滑出
  7. Android(安卓)中 KeyEvent keycode 配置
  8. 教你搞定Android自定义ViewGroup
  9. Android(安卓)TextView根据textsize计算T
  10. Android中用Git来抓取你感兴趣列表的提交