Hi plusminus,
Regarding Calling thread :
I am calling from other thread like connection thread or handler (not from GUI).

I found some intresting behaviour of finish(): There are two ways to start an activity after finishing the previous one.
1. Call finish() then start new Activty.
2. Start the Activity and finsh() the previuos one after that in next statement.
I think case2 is prefered than case1. But Some times the Previous activity goes to pause state instead of destroyrd state. This is because new activity is started before finish() called.
This is behaviour is not consistent.
To avoid such situation (Case2), i am calling finish() again inside onPause() of previous activity.
Can you suggest some better solution for such scenario

What sort of security issues you are talking about ? Shall i add some permission in the manifest file ?