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