Как запустить активность из класса потоков в android?

Я расширяю класс потока и из этого класса хочу начать работу. Как это сделать?

Solutions Collecting From Web of "Как запустить активность из класса потоков в android?"

Вам нужно вызвать startActivity() в главном потоке приложения. Один из способов сделать это – сделать следующее:

  1. Инициализируйте Handler и свяжите его с основным потоком приложения.

     Handler handler = new Handler(Looper.getMainLooper()); 
  2. Оберните код, который запустит Activity внутри анонимного класса Runnable и передаст его методу Handler#post(Runnable) .

     handler.post(new Runnable() { @Override public void run() { Intent intent = new Intent (MyActivity.this, NextActivity.class); startActivity(intent); } }); 

Вы можете использовать что-то вроде этого.

 public class MyActivity extends Activity { Handler hander = new Handler(){ public void handleMessage(Message m){ Intent intent = new Intent (MyActivity.this, Next.class); startActivity(intent); } }; pubilc void onCreate(Bundle ic) { //your code setContentView() etc.... Thread toRun = new Thread() { public void run() { hander.sendMessage(1); } } toRun.start(); } } 

Ну, чтобы начать деятельность класса, класс должен распространяться с действиями по мне.

Но если вы хотите начать работу с помощью некоторой функции потоковой передачи, вы можете сделать это.

Вместо продолжения Thread используется использование Runnable. После этого какой-то класс, у которого есть Activity, вы просто вызываете начальный поток и ставите свою логику и начинаете Intent.

Я думаю, что это хорошее решение для вас.