Facebook SDK说明对app id没有意义

时间:2015-02-27 23:13:41

标签: android facebook facebook-graph-api

我已经拍下了下面的Facebook说明。这有什么问题?我的应用程序不断崩溃,有关ApplicationId的异常不应为null。但我已在清单中将我的应用ID添加为<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>;将其作为strings.xml资源中的字符串添加为<string name="facebook_app_id">0000000000</string>

之后

所以我认为说明是错误的,因为它没有说明要添加哪个uses-permission,而是说要调用值为com.facebook.sdk.ApplicationId的字符串资源键Facebook_app_id。这是链接https://developers.facebook.com/docs/android/getting-started#eclipse

enter image description here

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。这就是我如何解决它 - 我想。至少在做完这些事情之后,问题就消失了。

在strings.xml中

<?xml version="1.0" encoding="utf-8"?>
<resources>
….
<string name="com.facebook.sdk.ApplicationId">facebook_app_id</string>
<string name="facebook_app_id">111111111</string>
….
</resources>
清单中的

<application
… >

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

</manifest>

请注意strings.xml文件中有两个条目。

答案 1 :(得分:0)

非常简单

1。)在Facebook上创建应用程序,获取随后用于附加到应用程序的app_id。

2.。)在AndroidManifest.xml中定义你的applicationId,如下所示:

<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
<application android:label="@string/app_name"....标记下的

其中app_id是strings.xml中的字符串。

示例(Facebook示例应用程序):

<application android:label="@string/app_name"
                 android:icon="@drawable/icon"
                 android:theme="@android:style/Theme.NoTitleBar"
            >
        <activity android:name=".HelloFacebookSampleActivity"
                  android:label="@string/app_name"
                  android:windowSoftInputMode="adjustResize">
            <intent-filter>
                <action android:name="android.intent.action.MAIN"/>
                <category android:name="android.intent.category.LAUNCHER"/>
            </intent-filter>
        </activity>
        <activity android:name="com.facebook.LoginActivity"
                  android:theme="@android:style/Theme.Translucent.NoTitleBar"
                  android:label="@string/app_name" />
        <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
    </application>

请注意<application>标记下添加的值 并在strings.xml中(确认这样做)

<string name="app_id">xxxxxxxxxxxx</string>

3.。)在清单

中设置权限
<uses-permission android:name="android.permission.INTERNET"/>

这是一个Android要求,因此应用程序可以访问互联网。

因此,使用权限,上面的清单看起来像

<uses-permission android:name="android.permission.INTERNET" />
 <application android:label="@string/app_name"
                     android:icon="@drawable/icon"
                     android:theme="@android:style/Theme.NoTitleBar"
                >
            <activity android:name=".HelloFacebookSampleActivity"
                      android:label="@string/app_name"
                      android:windowSoftInputMode="adjustResize">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN"/>
                    <category android:name="android.intent.category.LAUNCHER"/>
                </intent-filter>
            </activity>
            <activity android:name="com.facebook.LoginActivity"
                      android:theme="@android:style/Theme.Translucent.NoTitleBar"
                      android:label="@string/app_name" />
            <meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/app_id"/>
        </application>