Вы можете использовать комбинацию акселерометра и цифрового компаса в телефонах, имеющих их, для определения скорости и направления, как указано в этом post.
Если все, что вам нужно сделать, это определить, идет ли человек, все, что вам нужно, это акселерометр. Просто обработайте его выход для шагов ноги.
В Интернете есть множество учебных пособий для обнаружения шагов ступени с помощью акселерометра.
Здесь есть заметка о приложении: http://www.analog.com/library/analogDialogue/archives/41-03/pedometer.html, которая дает приличный математический фон и пример алгоритма. Разумеется, вам нужно извлечь математику и переписать ее для Android (код примера написан на C). В настоящее время я не знаю об открытой библиотеке Android с алгоритмом обнаружения шагов.
Если вы что-то реализуете, я хотел бы получить код, не забудьте отправить результаты.
У вычислить расстояние, пройденное пользователем во время ходьбы, может уделить расстояние алгоритм с использованием акселерометра – Erum