Android的加速度传感器模拟摇一摇的效果-android学习之旅(66)
2015-08-07 20:35
597 查看
主要介绍一下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); } }
相关文章推荐
- Android的加速度传感器模拟摇一摇的效果-android学习之旅(66)
- Android的加速度传感器模拟摇一摇的效果-android学习之旅(66)
- Android实现程序第一次安装的引导界面
- Android之SDK如何更新
- android 数据共享
- Android(java)学习笔记143:android提供打开各种文件的API接口:setDataAndType
- Android Java设置一个图片的颜色为透明色(不显示,不是背景色),可用于无透明通道的ImageView
- 获取android手机版本
- Android学习日志: 执行.getResponseCode()方法时出现错误常
- android 设置全屏,窗口透明度,待机设置,主题设置总结
- ANDROID内存优化——大汇总(转)
- Android生成验证码
- 关于Android系统中Activity和Fragment的自动重建调研
- Android Service完全解析,关于服务你所需知道的一切(下)
- Android Service完全解析,关于服务你所需知道的一切(上)
- android开发链接
- 我的Android进阶之旅------>Android使用cmd窗口进行adb logcat时出现中文乱码问题的解决办法
- Android 混淆代码总结
- LeakCanary:简单粗暴的内存泄漏检测工具
- android实现获取有线和无线Ip地址的方法