У вас есть выбор: использовать обработчики или позвонить напрямую. В обоих случаях вы должны передать ссылку на конструктор AsyncTask. onPostExecute () вызывается в потоке пользовательского интерфейса, поэтому вы можете вызывать метод непосредственно по ссылке вашей деятельности.
private Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case Constants.TASK_FINISHED:
somefunc();
break;
}
}
};
SaveAdDetail task = new SaveAdDetail(handler);
task.execute();
// в вашем SaveAdDetail:
@Override
public void onPostExecute(Void unused) {
Progdialog.dismiss();
handler.obtainMessage(Constants.TASK_FINISHED).sendToTarget();
}