Как вызвать функцию родительской активности из ASyncTask?

setAccountAuthenticatorResult может быть вызван из Activity, который расширяет AccountAuthenticatorActivity . Моя активность расширяет это, но запускает ASyncTask, и поэтому этот setAccountAuthenticatorResult следует вызывать из ASyncTask (или результат ASyncTask должен быть возвращен в основной поток).

Как это сделать?

Что не так в коде ниже?

 AsyncTask<Uri, Void, Bundle> task = new RetrieveAccessTokenTask(this, consumer, provider, prefs).execute(uri); public class RetrieveAccessTokenTask extends AsyncTask<Uri, Void, Bundle> { private Context context; public RetrieveAccessTokenTask(Context context, OAuthConsumer consumer, OAuthProvider provider, SharedPreferences prefs) { this.context = context; } @Override protected void onPostExecute(Bundle result) { context.setAccountAuthenticatorResult(); // doesn't work } 

Когда вы создаете AsyncTask, вы можете добавить к нему новый конструктор и передать ссылку на Activity:

 AsyncTask myTask = new MyTask(this); 

А затем из метода onPostExecute () в AsyncTask вы можете вызвать метод в Activity.

 public class MyTask extends AsyncTask<String, String, String> { public MyActivity activity; public MyTask(MyActivity a) { this.activity = a; } // ...... protected void onPostExecute(String result) { activity.myMethod(); } } 
Intereting Posts
Xamarin: BroadcastReceiver не получает, когда приложение не работает Android: Multithreading-Bluetooth SPP / RFCOMM-Как сохранить мой BluetoothSocket и OutputStream активными при изменении действий «Пространство имен не связано» в файле ресурсов xml при проверке кода в Android Studio Более одного BroadcastReceiver для одного и того же намерения с противоречивым документом и практикой Ошибка аутентификации Wifi в Android Почему Camera.setParameters (Camera.Parameters) не работает на Sony-Ericsson X10 и Droid? Android – надежное получение текущего местоположения Как я могу масштабировать персонаж, чтобы он вписывался в Rect для рисования текста? Android – LinearLayout Горизонтальная с обертыванием детей Как я могу добавить событие в календарь автоматически? CollapsingToolbarLayout с многострочным заголовком Управлять фокусом в пользовательском представлении В вашем проекте содержатся ошибки (ошибки), пожалуйста, исправьте его перед запуском Как добавить символ @ в строку в android? Как преобразовать Spannable String в Html форматированную строку в Android?