i sugest to you to use panels and not activitys.
u can put your panel invisible and when you want to open only give a panel.visible = true
and add all your views, buttons etc on the panels, call this for example
panel main
panel register
etc....
Panels also work well for me.
I have a service handling bluetooth serial data for my app. I originally had several activities, one for each of the different things that the user could do (setting up, diagnostics, data transfer), that seemed to be the way Android software was supposed to be organised.
It was becoming quite complicated to keep track of which activity the service should communicate with, especially when something unexpected happened (disconnect, pause, resume etc.).
Panels have the great advantage, in my case, of all being in one activity. I have found it much simpler to use a state machine working with the panels in one activity. The state machine remembers which panel is active and knows what options are available from that panel and which panel to show next when something unexpected happens.