Android facebook applicationID仍然为null

时间:2015-08-26 05:43:59

标签: android facebook login sdk metadata

我已经跟踪了tuturial连接到facebook的所有内容,但我仍然得到applicationId不能为空。

登录按钮:

<com.facebook.login.widget.LoginButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"/>

Android最明显:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/MyMaterialTheme.Base" >
        <activity
            android:name=".LoadingActivity"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>

            <meta-data android:name="com.facebook.sdk.ApplicationId"
                android:value="@string/app_id"/>

的strings.xml:

<string name="app_id">1122************</string>

LoadingActivity:

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        FacebookSdk.sdkInitialize(getApplicationContext());
        CallbackManager callbackManager = CallbackManager.Factory.create();
        setContentView(R.layout.activity_loading);

        addControl();
        startLoading();
    }

错误:

java.lang.NullPointerException
                at java.util.concurrent.ConcurrentHashMap.containsKey(ConcurrentHashMap.java:911)
                at com.facebook.internal.Utility.queryAppSettings(Utility.java:825)
                at com.facebook.login.widget.LoginButton$1.run(LoginButton.java:489)
                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                at java.lang.Thread.run(Thread.java:841)

1 个答案:

答案 0 :(得分:1)

我刚遇到同样的问题,移动应用标记中的元数据行,而不是活动标记,否则Facebook SDK无法读取它。