Нужно принимать сигнал GPS и передавать его куда либо, можно предварительно записывать и передавать пачками.
проще всего в приложении сделать ServiceActivity в котором будет LocationReciver, естественно нужны права на GPS и он должен требовать его включить. Треки лучше всего хранить по датам на sd карте - в популярном формате. Перед сохранением точки - нужно вычислять расстояние между соседними точками и если оно меньше NNметров - то не сохранять. Длину можно пощитать как сумму расстояний между каждыми двумя точками - в цикле.