I have an AsyncTaskLoader with a long task, when during bootloader operation my activity is destroyed due to a change in orientation, the onLoadFinished not called.
Can I somehow "reconnect" the bootloader to my new activity / callback?
Here is my (simplified) Activity :
public class DashboardActivity extends BaseActivity { StartupCallback startupCallback; boolean loading = false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.empty_viewpager); startupCallback = new StartupCallback(); if (!loading){ getSupportLoaderManager().initLoader(GlobalApp.giveId(), null, startupCallback); loading = true; } } private class StartupCallback implements LoaderManager.LoaderCallbacks<Boolean> { @Override public void onLoadFinished(Loader<Boolean> loader, Boolean succ) { Log.d("LOG", "onLoadFinished"); } @Override public Loader<Boolean> onCreateLoader(int id, Bundle args) { return new StartupLoader(getApplicationContext()); } @Override public void onLoaderReset(Loader<Boolean> loader) { } } }
I canβt just start another bootloader with a new callback because the bootloader does the database stuff, and two loaders running on the same database will crash the application.
source share