In the current Android app I'm developing, I've changed the way the back button works.
By default, the back button just finishes the activity and takes it off the stack. However, what I've done is make it perform like a web browser back button and go back to the previous seen activity.
For example, say you go main_menu->settings->advanced_settings and hit "apply". That saves the advanced_settings and takes it off the stack, returning back to settings. At this point the default Android back press would usually finish settings and go to main_menu, but now I've made the back press reactivate the advanced_settings activity, essentially going back to what you were doing before.
In my opinion, this is a more intuitive way of having the button work, preserving the train of thought and actually doing what the button's name implies.
However, I know it's possible that I may be misguided, so this is my question.
Is it bad practice to implement the back button this way?
There is a good Android Developers write up on the subject that I would encourage you read https://developer.android.com/training/implementing-navigation/temporal
Look at how Android itself implements their settings app, going back brings you back a level, like you said. To do this you can use fragments and hold a back stack of fragments as illustrated in the link.