Java 在NEXUS5X 29API中未找到类型\步骤\计数器传感器

Java 在NEXUS5X 29API中未找到类型\步骤\计数器传感器,java,android-studio,android-sensors,sensormanager,nexus-5x,Java,Android Studio,Android Sensors,Sensormanager,Nexus 5x,我正在用Nexus5X API29在android工作室做一个步骤计数器项目。我需要使用传感器。我写了传感器代码如下,但它仍然给出“传感器未找到”错误。有办法解决这个问题吗 public class MainActivity extends AppCompatActivity implements SensorEventListener { TextView tv_steps; SensorManager sensorManager; Sensor sensor; boolean running

我正在用Nexus5X API29在android工作室做一个步骤计数器项目。我需要使用传感器。我写了传感器代码如下,但它仍然给出“传感器未找到”错误。有办法解决这个问题吗

public class MainActivity extends AppCompatActivity implements SensorEventListener {
TextView tv_steps;
SensorManager sensorManager;
Sensor sensor;
boolean running = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate ( savedInstanceState );
    setContentView ( R.layout.activity_main );
    tv_steps = (TextView) findViewById ( R.id.tv_steps );

    sensorManager = (SensorManager) getSystemService ( Context.SENSOR_SERVICE);
}

@Override
protected void onResume() {
    super.onResume ();
    running = true;
    Sensor countSensor = sensorManager.getDefaultSensor ( sensor.TYPE_STEP_COUNTER );
    if(countSensor!= null){
        sensorManager.registerListener ( this,countSensor,SensorManager.SENSOR_DELAY_UI );
    }else {
        Log.d ("Main Activity","SENSOR NOT FOUND" );
    }
}

@Override
protected void onPause() {
    super.onPause ();
    running = false;
    //if you unregister the hardware will stop detecting steps
}

@Override
public void onSensorChanged(SensorEvent event) {

    if (running){
        tv_steps.setText ( String.valueOf ( event.values[0] ) );
    }

}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {

}
}

在清单文件中,我还建议如下所示的权限:

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

我建议您在真实设备上测试此应用程序。通常,模拟器没有传感器或文本到语音等特定功能


如果仍然无法工作,请确保您的物理设备具有阶跃传感器。

我建议您在真实设备上测试此应用程序。通常,模拟器没有传感器或文本到语音等特定功能

如果仍然无法工作,请确保您的物理设备具有阶跃传感器