2013-10-10 3 views
0

Я хочу использовать службу для загрузки фона. Я не могу получить поток, чтобы начать работу с моим сервисом. Метод запуска не вызывается (я пытался как местные, так и отдельные услуг процесса)нить не работает внутри службы android

public class DownloadService extends Service 
    { 
     private int count = 0; 

     @Override 
     public int onStartCommand(Intent intent, int flags, int startId) { 
      return Service.START_NOT_STICKY; 
     } 


     @Override 
     public void onCreate() 
     { 
      super.onCreate(); 
      //mDT.start(getApplicationContext(), new Handler()); 
      new Thread(new DownloadRunnable()); 
     } 


     @Override 
     public IBinder onBind(Intent intent) 
     { 
      return null; 
     } 



     private class DownloadRunnable implements Runnable 
     { 
      @Override 
      public void run() 
      { 
       ++count; 
       new Handler().post(new Runnable() { 
        @Override 
        public void run() { 
         Toast.makeText(getApplicationContext(), "Hey from Service", Toast.LENGTH_SHORT).show(); 
        } 
       }); 
       ++count; 
      } 
     } 
    } 

//inside application class 
Intent i= new Intent(this, DownloadService.class); 
startService(i); 

Тост никогда не появляется и контрольные точки внутри перспективе никогда не увольняют. Я что-то пропустил?

ответ

3

вы не запустить поток

new Thread(new DownloadRunnable()).start() 
+0

вы создаете нить, но ничего больше: новую тему (новый DownloadRunnable()); –

+0

Я боялся, что это что-то смущает. Теперь я знаю, что случилось с .start(), потому что оно было там в предыдущей версии кода. IDE должна генерировать предупреждение для этого, когда поток создается без запуска или назначения переменной. – Sergi0

Смежные вопросы