首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓加速度计设置:我可以让它运行时,它只按下按钮。

安卓加速度计设置:我可以让它运行时,它只按下按钮。
EN

Stack Overflow用户
提问于 2012-04-07 06:37:08
回答 1查看 1.4K关注 0票数 1

我在我的应用程序中使用了加速度计,我想知道我是否可以使它成为用户按下开始按钮后,加速度计仅在一定时间内激活的方式。当用户按下停止按钮时,它应该停止。它本质上是一个计步器,是一个更大的应用程序的一部分。这是用来实现加速度计的代码:

代码语言:javascript
运行
复制
SensorManager sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE);
    int sensorType = Sensor.TYPE_ACCELEROMETER;
    sensorManager.registerListener(sensorListener, sensorManager.getDefaultSensor(sensorType),SensorManager.SENSOR_DELAY_NORMAL);

我有计算步骤的代码是:-

代码语言:javascript
运行
复制
final SensorEventListener sensorListener = new SensorEventListener()
{

    public void onSensorChanged(SensorEvent event)
    {
            if(event.values[2]<3)
            {
                counter ++;
            }
            else if(event.values[2]>5)
            {
                counter --;
                counter ++;

            }
            sensorData.setText("Steps = "+ counter);

      }

      public void onAccuracyChanged(Sensor sensor, int accuracy){}
      };

我只是想知道,既然我在计算onSensorChanged方法中的步骤,我如何将其限制为只有一个按钮按下状态?是否可以添加一个计时器来计算我前面提到的两次按下按钮之间经过了多长时间?

EN

Stack Overflow用户

回答已采纳

发布于 2012-04-07 07:15:08

是的,当然。

准备经理:

代码语言:javascript
运行
复制
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);

启动加速度计:

代码语言:javascript
运行
复制
mSensorManager.registerListener(this, mAccelerometer, 
     SensorManager.SENSOR_DELAY_NORMAL);

停止:

代码语言:javascript
运行
复制
mSensorManager.unregisterListener(this);

不要忘记在onPause()方法中取消注册侦听器。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10050035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档