首页 > 解决方案 > 我无法使用计步传感器

问题描述

我正在尝试制作基本的计步器应用程序,但我有一个问题。这是我的代码。只是其他括号工作。问题出在哪里?谢谢大家的帮助。

这是我的代码;

  sensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);

        if (sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER) != null) {
            mStepCounter = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
            isCounterSensorPresent = true;
            tv_stepCounter.setText("counter sensor");
        } else {
            tv_stepCounter.setText("counter sensor is not present");
            isCounterSensorPresent = false;
        }
    @Override
    protected void onResume() {
        super.onResume();
        if (sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER) != null) {
            sensorManager.registerListener(this, mStepCounter, SensorManager.SENSOR_DELAY_NORMAL);
        }
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER) != null) {
            sensorManager.unregisterListener(this, mStepCounter);
        }
    }

    @Override
    public void onSensorChanged(SensorEvent sensorEvent) {
        if (sensorEvent.sensor == mStepCounter) {
            stepCount = (int) sensorEvent.values[0];
            tv_stepCounter.setText(String.valueOf(stepCount));
        }

    }

这是我的权限。

if (ContextCompat.checkSelfPermission(this,
                Manifest.permission.ACTIVITY_RECOGNITION) == PackageManager.PERMISSION_DENIED) {
            //ask for permission
            requestPermissions(new String[]{Manifest.permission.ACTIVITY_RECOGNITION}, 0);
        }

<uses-permission android:name="android.permission.ACTIVITY_RECOGNITION" />

标签: javaandroidandroid-studiosensors

解决方案


推荐阅读