You can use the accelerometer here for this. I don't know of any preset values to use to determine it, but training wouldn't be too hard.
Set up an app to read the accelerometer data, then take it for many walks and runs etc and compare the data for consistent patterns. Amplitude and abrupt direction shifts come to mind. Once you have a reasonably large data set of walking vs running vs whatever samples, test it out by having somebody walk or run, then determining which one it is. If it is accurate enough for your standards, then Ship It™!