Android - вызов функции при аутентификации завершения процесса
Я пытаюсь интегрировать загрузку Dropbox в мое приложение. Я прочитал официальные примеры и смог написать клиент для загрузки файлов. Теперь есть только одна вещь, которую я хотел бы исправить... в примере сначала запустите эту строку кода:
mDBApi.getSession().startOAuth2Authentication(MainActivity.this);
и затем используйте OnResume для завершения аутентификации:
protected void onResume() {
super.onResume();
if (mDBApi.getSession().authenticationSuccessful()) {
try {
// Required to complete auth, sets the access token on the session
mDBApi.getSession().finishAuthentication();
String accessToken = mDBApi.getSession().getOAuth2AccessToken();
} catch (IllegalStateException e) {
Log.i("DbAuthLog", "Error authenticating", e);
}
}
new myOperation().execute("");
}
Это работает, но я искал способ заменить onResume (который также вызывается при запуске приложения и вызывает некоторые исключения). Есть ли способ вызвать функцию, когда mDBApi.getSession(). StartOAuth2Authentication(MainActivity.this); заканчивается?
Спасибо за помощь, и, как обычно, если вам нужна дополнительная информация, пожалуйста, спросите
1 ответ
Если это единственный доступный для API способ, то вы должны использовать его, если у вас есть контроль над тем, что делает startOAuth2Authentication, вы можете использовать startActivityForResult (), но его внутренний API нельзя изменить.
поэтому я бы посоветовал вам обрабатывать любые исключения, которые вы получаете в onResume(), используя некоторые проверки, такие как обертывание всего кода внутри onResume() с этим
if(mDBApi!=null){...