Turn on the screen for a few seconds when there is a voice prompt

> Yes, but when the screen always is on or is off during navigation, this things never execute.

Yes, but they should be executed, if the screen turns on (the activity resumes at this point).
So I don't get your point.
Don't you think that all these things should be called on resume?
I think all these things are there to be executed onResume().

By the way, you only see the "not updated position after screen on by wake on voice" problem if you do a real world navigation, to use the build in OsmAnd simulation feature is not enough!