2013-07-24 61 views
1

當服務在單獨的線程上運行時,是否有任何方式顯示敬酒? 我使用下面的代碼。如何在單獨的線程上運行服務時顯示吐司?

public void onStart(Intent intent, int startid){ 
    final String name = intent.getStringExtra("name"); 
    Log.d(TAG,"onStart()"); 
    new Thread(new Runnable() { 


     public void run() { 
      try 
      { 
       Toast.makeText(getApplicationContext(), "Ashish 1",Toast.LENGTH_LONG).show(); 

      } 
      catch(Exception e) 
      { 
       Log.d(TAG,"Exception....."+e); 
      } 

     } 
    }).start(); 
} 
+1

Ÿ你不打電話給服務本身吐司? – KOTIOS

+0

您可以使用處理程序。 – njzk2

+0

使用處理程序.... –

回答

2

Toast消息只能在uithread上顯示。但是如果你想在另一個線程上使用,你可以像這樣實現它。

yourActivityObject.runOnUiThread(new Runnable() { 
    public void run() 
    { 
     Toast.makeText(yourContextObject, "some text",Toast.LENGTH_LONG).show(); 
    } 
}); 
+0

嗨,方法(runOnUiThread)工作在一個活動,然後我們如何可以在另一個線程內運行它? – User10001

+0

對不起,我編輯過。您應該將您的活動上下文的實例傳遞給您的非活動類。 – ChuKoNu

+0

它應該是'youActivityObject'而不是'Context' –