9

我已按照 Facebook“使用 Facebook 登录”教程进行操作

但是,当我加载应用程序并单击“登录”时,我收到“com.facebook.FacebookException:当 com.facebook.LoginActivity 未在 AndroidManifest.xml 中声明为活动时无法使用 SessionLoginBehavior SSO_WITH_FALLBACK”错误。

我肯定已经在AndroidManifest.xml文件中添加了活动。

<?xml version="1.0" encoding="utf-8"?>

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.zwopper.LoginActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

    <activity
        android:name="com.zwopper.MainActivity"
        android:label="@string/app_name" >
    </activity>
    <meta-data android:value="@string/app_id" android:name="com.facebook.sdk.ApplicationId"/>
</application>

有谁知道是什么问题?

(我还将 *app_id* 字符串添加到 res/values/strings.xml、INTERNET 权限、com.facebook.sdk.ApplicationId 元数据)

谢谢。

4

2 回答 2

34

在你的 mainfest 中定义活动

    <activity
        android:name="com.facebook.LoginActivity"
        android:label="@string/title_facebook_login" >
    </activity>
于 2013-02-19T06:32:43.583 回答
1

一份在 facebook 中登录的完整清单:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.eltondcr.youvox"
android:versionCode="1"
android:versionName="1.1" >

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />

<uses-feature
    android:name="android.hardware.camera"
    android:required="false" >
</uses-feature>

<supports-screens
    android:anyDensity="true"
    android:largeScreens="true"
    android:normalScreens="true"
    android:smallScreens="true" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.BATTERY_STATS" />

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >

    <!--
    <receiver android:name="com.example.ServiceAutoStarter" >
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
        </intent-filter>
    </receiver>
    -->
    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/app_id" />

    <activity
        android:name="com.eltondcr.youvox.HomeActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MainActivity" />
    <activity android:name=".GravacaoActivity" />
    <activity android:name=".FBActivity" />

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

<!-- <activity android:name=".HomeActivity" /> -->

于 2014-08-08T23:22:10.363 回答