Подобные приложения имеют доступ к данным акселерометра и гироскопа. Эти датчики фиксируют положение телефона в пространстве и ускорения, с которыми он движется. Во время ходьбы ваш телефон постоянно опускается/поднимается с определенным ускорением относительно земли. Приложение обрабатывает информацию с датчиков и вычисляет количество шагов. Длину шага определяют либо практически (проходите известное вам расстояние и вносите его в программу), либо с помощью GPS (пройденное расстояние определяется с помощью спутников), либо просто берется среднее значение с поправкой на ваш рост.