所以我在MainActivity中调用AsyncTask。在AsyncTask(onPostExecute)中发回处理程序消息之前,我通过MainActivity中的intent调用另一个活动。但是当我尝试发回消息时,我无法通过任何一个活动(处理程序回调接口)接收它。我想在MainActivity中收到此消息。
仅当我删除对第二个活动的呼叫时,将按预期收到消息。
有关如何实现这一目标的任何提示?
//mainactivity oncreate()
public void onCreate(Bundle savedInstanceState)
{
...
Handler handler = new Handler(this);
new MyAsyncTask(handler).execute();
Intent intent = new Intent(this, SecondaryActivity.class);
startActivity(intent);
...
}
//async
public class MyAsyncTask extends AsyncTask<Void, Void, String >
{
private Handler handler;
public UpdateTask(Handler handler)
{
this.handler = handler;
}
...
protected void onPostExecute(TmiResponse result)
{
handler.sendMessage(Message.obtain(handler, Constants.MSG_DONE, result));
}
}
@Override
public boolean handleMessage(Message msg)
{
//no messages received here
}