我正在尝试使用facebook SDK学习android开发。
今天我尝试了登录部分。 然而事情是我在这方面有很多困惑,因为我不明白uiLifeCycleHelper和LoginButton是如何相互作用的。
来自样本:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" tools:context="co.chintan.fbtest.SplashFragment"
>
<com.facebook.widget.LoginButton
android:id="@+id/login_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_alignParentBottom="true"
android:layout_marginBottom="130dp"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/login_button"
android:text="@string/get_started"
android:layout_centerHorizontal="true"
android:layout_marginBottom="20dp"/>
</RelativeLayout>
这是登录屏幕,它有一个登录按钮,从代码中可以看出。
主要活动流程如下:
现在我的问题是uiLifeCycleHelper是如何使用在layout xml中创建的LoginButton的,因为在我创建的MainActivity类中没有LoginButton的实现,即使那时似乎有一个LoginButton的监听器,就像当我点击登录按钮,我可以登录并创建一个会话并加载我认证的用户界面。
我看到了SDK源代码,但即使在那里我也没有看到loginButton的任何监听器。
答案 0 :(得分:0)
uiLifecycleHelper.onActivityResult方法将登录结果传递给Session对象。 LoginButton包含一个SessionTracker(SDK中的内部类),用于跟踪会话更改,这是登录成功的时间。