Android 确定哪个活动正在调用AsyncTask

Android 确定哪个活动正在调用AsyncTask,android,android-asynctask,Android,Android Asynctask,有没有办法找出哪个活动正在调用AsyncTask?我有两个活动在调用它,我想在onPostExecute()中做不同的事情,这取决于调用它的活动 诸如此类: protected void onPostExecute(String result) { //do some stuff with result if (callingActivity == mainActivity) { //do something } else { //do s

有没有办法找出哪个活动正在调用
AsyncTask
?我有两个活动在调用它,我想在
onPostExecute()
中做不同的事情,这取决于调用它的活动

诸如此类:

protected void onPostExecute(String result) {
    //do some stuff with result
    if (callingActivity == mainActivity) {
        //do something
    } else {
        //do something else
    }
} 
我们总是有营救的机会。在创建AsyncTask时捕获callingActivity,并在onPostExecute中使用它

比如说,

有两个活动ActivityA和ActivityB。您可以像这样在POST上签入

class AsyncTask<..,..,..> {

  private Activity a;

  public AsyncTask(Activity a) {
    this.a = a;
  }

  protected void onPostExecute(String result) {
    //do some stuff with result
    if (a instanceof ActivityA) {
        //do something
    } else if (a instanceof ActivityB) {
        //do something else
    }
  } 
}
类异步任务{
私人活动a;
公共任务(活动a){
这个a=a;
}
受保护的void onPostExecute(字符串结果){
//做一些有结果的事情
if(活动的实例a){
//做点什么
}else if(活动的实例b){
//做点别的
}
} 
}
我们总是有救援的时刻。在创建AsyncTask时捕获callingActivity,并在onPostExecute中使用它

比如说,

有两个活动ActivityA和ActivityB。您可以像这样在POST上签入

class AsyncTask<..,..,..> {

  private Activity a;

  public AsyncTask(Activity a) {
    this.a = a;
  }

  protected void onPostExecute(String result) {
    //do some stuff with result
    if (a instanceof ActivityA) {
        //do something
    } else if (a instanceof ActivityB) {
        //do something else
    }
  } 
}
类异步任务{
私人活动a;
公共任务(活动a){
这个a=a;
}
受保护的void onPostExecute(字符串结果){
//做一些有结果的事情
if(活动的实例a){
//做点什么
}else if(活动的实例b){
//做点别的
}
} 
}

让您的活动子类化您的
CommonAsyncTask
,覆盖
onPostExecute()


只需让您的活动子类化您的
CommonAsyncTask
,覆盖
onPostExecute()


在你的
AsyncTask
子类中添加一个构造函数,并传入一些创建者的标识符。哦,我的天啊,我为自己没有想到这一点而感到羞愧。非常感谢。在你的
AsyncTask
子类中添加一个构造函数,并传入一些创建者的标识符。哦,我的天啊,我为自己没有想到这一点而感到羞愧。非常感谢。如果在
AsyncTask
中保持对
活动的强引用,则有泄漏
活动的风险。如果在
AsyncTask
中保持对
活动的强引用,则有泄漏
活动的风险。