Я просмотрел примеры Google для Android Jetpack Navigation , и это действительно значительно упрощает навигацию между компонентами приложения.
Однако я не смог найти ни одного примера того, как реализоватьпереход к компоненту, предоставленному сторонней библиотекой, например, действие, которое должно быть начато с намерения, созданного с помощью предоставленного построителя, и которое должно вернуть результат.
Пример - в моей основной деятельности у меня естьперенаправить на страницу входа Firebase AuthUi , если пользователь не аутентифицирован:
@Override
public void onCreate(...){
// call super, set contet view, etc.
if(!isUserAuthenticated()){
startActivityForResult(
AuthUI.getInstance()
.createSignInIntentBuilder()
.setAvailableProviders(providers)
.build(),
RC_SIGN_IN);
}
}
И
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RC_SIGN_IN) {
IdpResponse response = IdpResponse.fromResultIntent(data);
if (resultCode == RESULT_OK) {
// Successfully signed in
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
// ...
} else {
// Sign in failed. If response is null the user canceled the
// sign-in flow using the back button. Otherwise check
// response.getError().getErrorCode() and handle the error.
// ...
}
}
}
Как я могу это сделать, используя NavController вместо прямого вызова startActivityForResult ?