You should remove this Thread.sleep(3000);
which block the ui thread. You should never block the ui thred. You can use a Handler postDelayed with a delay and then startActivtiy.
Handler handler = new Handler();
handler.postDelayed(new Runnable(){
@Override
public void run(){
// do something
}
}, 3000);
To go back to previous Activity you can call finish()
.
Also if you need to go back to the previous activity for 3 seconds why do you need
Intent i = new Intent(this,myActivity.class);
startActivity(i);
Calling finish()
will do the job