2013-05-19 45 views
0

我可以從Android上的Java調用哪個(線程安全)方法,其中 會給我一個從後臺任務的前臺活動的句柄? 我希望能夠這樣做,以便安全地在頂部窗口頂部 上敬酒。android異步獲取前臺活動

謝謝。

回答

0

您不一定必須獲取前臺UI活動的句柄才能顯示吐司消息。您可以從後臺線程這樣做:

runOnUiThread(new Runnable() { 
    public void run() { 
     // make toast, show toast 
    } 
}); 
0

創建自己的類,它擴展的AsyncTask,並通過該活動作爲參數之一:

public class MyAsyncTask extends AsyncTask<String, String, String>{ 

    Activity mActivity; 

    public MyAsyncTask (Activity mActivity){ 
     this.mActivity = mActivity; 
    } 

    @Override 
    protected String doInBackground(String... urls) { 


     return null; 

    } 

    @Override 
    protected void onPostExecute(String result) { 

    } 

} 

這樣做是應該允許您訪問活動(假設它始終處於前景;可能不一定是這種情況)。

如果有一個機會,它不是前臺的活動,您可能希望只使用:

runOnUiThread(new Runnable() { 
    public void run() { 
     // Do UI stuff here 
    } 
}); 

然而,這並不一定是線程安全的