I'm trying to achieve precisely this: have a method called when the user hasn't moved for a defined amount of time, even if the app is in background, and with a reasonable power consumption.
This could be easily done if I didn't care about the power issue, so i'm not very interested in solutions like setting up a location manager refreshing very often.
I found a way to do exactly the opposite, like determining when the user leaves a place, but I can't seem to find what i want to do.
If my case is not precise enough feel free to ask for more details.
Thanks!