Android摇一摇
来源:互联网 发布:linux下安装oracle 编辑:程序博客网 时间:2024/05/22 11:46
整体思路:对加速感应进行注册监听,满足条件时,开始震动。要注意在不使用时取消监听
private SensorManager sensorMgr ;private Sensor sensor;private static final String TAG = "ShakeTestActivity"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //初始化 sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE); //取得加速器类型的传感器 sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);//传感器的种类很多,可以使用getSensorList方法获得所有可用的感应器,该方法返回的是一个List<Sensor> }
注册监听器
@Override protected void onResume() { // TODO Auto-generated method stub super.onResume(); if(sensorMgr!=null) { //注册监听器 sensorMgr.registerListener(sensorListener, sensor, SensorManager.SENSOR_DELAY_NORMAL); /* 第三个参数是检测的灵敏度 SENSOR_DELAY_FASTEST 最灵敏,快的让你无语 SENSOR_DELAY_GAME 游戏的时候用这个,不过一般用这个就够了,和上一个很难看出区别 SENSOR_DELAY_NORMAL 比较慢。 SENSOR_DELAY_UI 最慢的,几乎就是横和纵的区别 */ } }
取消监听 @Override protected void onStop() { // TODO Auto-generated method stub super.onStop(); if(sensorMgr!=null) {// 注意,说明文档中提到,即使activity不可见的时候,感应器依然会继续的工作,// 所以一定要在onPause方法中关闭触发器,否则将耗费用户大量电量. //取消监听 sensorMgr.unregisterListener(sensorListener); } }
定义一个SensorEventListener类型的监听
private SensorEventListener sensorListener = new SensorEventListener() { //数值发生变化时调用@Overridepublic void onSensorChanged(SensorEvent event) {// TODO Auto-generated method stub//感应器很敏感,细小的改变都将被检测到。所以本函数将不停的被调用,即使activity不可见的时候,感应器依然会继续的工作,,所以要注意注销监听//(测试时发现,将手机置于水平桌面稳定后 XY均为0 Z的值为9.8 约等于重力加速度float [] values = event.values; //values[0]或者values[SensorManager.DATA_X] float x = values[0];//X表示左右移动的加速度float y = values[1]; //Y表示前后移动的加速度float z = values[2]; //Z表示垂直方向的加速度Log.i(TAG, "x轴方向的重力加速度" + x + ";y轴方向的重力加速度" + y + ";z轴方向的重力加速度" + z); int medumValue = 19if (Math.abs(x) > medumValue || Math.abs(y) > medumValue || Math.abs(z) > medumValue) { //满足条件时,就可进行其他操作如震动// vibrator.vibrate(200); }}@Override//精确度发生变化时调用public void onAccuracyChanged(Sensor sensor, int accuracy) {// TODO Auto-generated method stub}};
- Android摇一摇
- Android摇一摇
- Android摇一摇
- android摇一摇
- android 摇一摇
- Android 摇一摇
- android传感器摇一摇功能
- Android——摇一摇
- Android——摇一摇
- android “摇一摇” 代码实现
- android “摇一摇” 代码实现
- Android开发---摇一摇功能
- android-摇一摇实例
- Android——摇一摇
- Android实现摇一摇
- android实现摇一摇功能
- android摇一摇服务
- Android 摇一摇终极解决方案
- [OpenWrt] openwrt资料汇集
- [OpenWrt] 创建软件包
- FastReports第二次打开报错,重新实例不管用
- Linux虚拟机上安装性能测试工具OProfile
- 苹果Mac新品国内开卖:13寸视网膜屏幕12488起
- Android摇一摇
- linux 性能监控命令7——sar 命令
- Android: frameworks\base\core\java\android\os\FileUtils
- 4gl程式debug常用技巧
- POI读取Excel 各种特殊数字和类型的转换
- linux shell getopts
- [OpenWrt] 欢迎高级用户!
- linux基础
- 【小蒙淘金】炒黄金注意哪些消息面