Счетчик шагов Android - PullRequest
       31

Счетчик шагов Android

0 голосов
/ 28 декабря 2018

Я пытаюсь сделать простое приложение для Android для подсчета шагов.Когда я запускаю приложение, в методе onResume вызывается else, что означает, что он не нашел датчик.Я тестирую на Samsung J3 2016 года с Api 22. Мне интересно, проблема в моем коде или в телефоне нет датчика.Если это телефон, есть ли обходной путь для этого?

public class MainActivity extends AppCompatActivity implements SensorEventListener
{

private TextView counterTextView;

private SensorManager sensorManager;

private boolean isWalking;


@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    counterTextView = findViewById(R.id.counterTextView);
    sensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
}

@Override
protected void onResume()
{
    super.onResume();
    isWalking = true;
    Sensor countSensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
    if(countSensor != null)
    {
        sensorManager.registerListener(this, countSensor, SensorManager.SENSOR_DELAY_UI);
    }
    else
    {
        counterTextView.setText("WARNING SENSOR NOT FOUND");
    }

}

@Override
protected void onPause()
{
    super.onPause();
    isWalking = false;
}

@Override
public void onSensorChanged(SensorEvent event)
{
    if(isWalking)
    {
        counterTextView.setText(String.valueOf(event.values[0]));
    }
}

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

}
}

1 Ответ

0 голосов
/ 28 декабря 2018

Для тех, кто находился в той же ситуации, что и я, это было устройство, которое я использовал.Если вы хотите работать со всеми устройствами, вы можете использовать акселерометр.

...