2013-05-19 44 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 
    } 
}); 

然而,这并不一定是线程安全的