"使用Facebook登录示例"中的编译错误

42

我正在尝试按照这个教程创建登录应用:

我的logcat中出现了以下错误:

11-22 15:57:53.863: E/AndroidRuntime(816): com.facebook.FacebookException: Cannot use SessionLoginBehavior SSO_WITH_FALLBACK when com.facebook.LoginActivity is not declared as an activity in AndroidManifest.xml

有人知道为什么吗?


展示一些代码,仅凭错误信息很难判断。 - Chris Hasiński
我将我的登录按钮作为我的主活动,并计划在登录后使其消失。登录必须是自己的活动吗? - user2701698
5个回答

76

你可能忘记在你的AndroidManifest.xml中定义了Activity

<activity
    android:name="com.facebook.LoginActivity"
    android:label="@string/title_facebook_login" >
</activity>

由于这可能不是启动器活动,那么在这种情况下我们可以做些什么? - Nitesh Verma
我假设这是Facebook SDK中存在的一个活动,将包含在我的apk文件中。或者,它是指Facebook应用程序中必须已经安装在设备上的活动的引用? - reubenjohn

64
我有同样的问题,是因为我忘记将com.facebook.LoginActivity活动添加到AndroidManifest.xml中。
还要检查您是否按照“使用Facebook登录创建新的Android项目”部分上https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/的步骤操作,特别是添加app_id字符串到res/values/strings.xml中,添加INTERNET权限,添加com.facebook.sdk.ApplicationId元数据,以及最后提到的LoginActivity。

3
好的,这可以翻译为:“好的,可以这样做……添加如下内容: <activity android:name=“com.facebook.LoginActivity”>。” - Rana Ranvijay Singh

12

尽管原问题与 SDK 3.0 相关,但我认为值得一提的是,在 SDK v4.0.+ 中,需要在 AndroidManifest.xml 文件中声明的活动是 com.facebook.FacebookActivity,例如:

<activity android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:theme="@android:style/Theme.Translucent.NoTitleBar"
    android:label="@string/app_name" />

3

In this link

<activity
    android:name="com.facebook.LoginActivity"
    android:label="title_facebook_login" >
</activity>

没有提到。

将此添加到AndroidMainfest.xml中,问题就解决了。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接