如何使用Android Jetpack的导航导航到第三方组件?

时间:2018-05-29 11:28:12

标签: android navigation android-jetpack

我浏览了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 来执行此操作?

0 个答案:

没有答案