Вам бы повезло больше с Handler
и Runnable
для этого типа вещей. Содержимое Runnable будет по-прежнему выполняться в главном потоке, даже если вы отправляете сообщения из другого потока. Класс Handler
выполняется в любом потоке, в котором он создан.
Runnable splashRunnable = new Runnable(){
public void run(){
if(!error){
StartActivity(new Intent(getApplicationContext(), Main.class));
finish();
}else createPopup(context);
}
};
//in your thread
mHandler.postDelayed(splashRunnable, _splashTime);