有没有办法使用 Android 的 LifecycleObserver 来通知 onActivityResult?

Is there a way to use Android's LifecycleObserver to notify about onActivityResult?

我目前使用 LifecycleObserver 来通知我的观点 onStart 等事件。这对于作为演示者或处理程序的组件非常有用,例如 FacebookLoginHandler 需要在视图准备好后注册回调。但是,在某些情况下,就像我提到的那样,我希望我的处理程序处理另一个 activity 的 returned 数据。

示例:

当我选择使用 Facebook 登录时,它会启动另一个 activity,其中的 return 会转到视图的 onActivityResult 方法。这让我在视图中注入我的 FacebookLoginHandler ,只是为了将处理委托给它。我想使用 LifecycleObserver 来获得 onActivityResult 的通知,并避免仅为了委托此事件而将我的处理程序耦合到视图。有办法吗?

我遇到了完全相同的问题。我的应用程序中有 "sign in with Facebook" 功能,我想将此功能移动到实现 LifecycleObserver.

的单独 class AuthManager

我检查了包含所有可用生命周期事件的 Lifecycle.Event class。看起来目前(android.arch 版本 1.1.0)没有 onActivityResult()LifecycleObserver.

的事件

打开了一个关于此的问题:https://github.com/googlesamples/android-architecture-components/issues/317