ApplicationInfo元数据返回null

时间:2013-05-02 12:36:43

标签: java android facebook

我有以下代码:

在清单中:

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

在代码中:

ApplicationInfo ai = getPackageManager().getApplicationInfo(
        getPackageName(), PackageManager.GET_META_DATA);
if (ai.metaData != null) {
   ...

但结果是ai.metaData == null。为什么会发生这种情况

2 个答案:

答案 0 :(得分:3)

从最新的Android文档中, &LT;元数据&GT;只能包含在&lt; activity&gt; /&lt; activity-alias&gt; /&lt; service&gt; /&lt; receiver&gt;中。 所以你应该在这些组件中附加元数据,而不是在&lt; application&gt;中。直接

答案 1 :(得分:0)

请注意编写元数据的位置。例如,如果您的元数据包含在内,则需要调用

getPackageManager().getApplicationInfo(getPackageName(), PackageManager.GET_META_DATA);

如果它包含在其他结中,则需要将getApplicationInfo更改为相关方法,例如getActivityInfogetServiceInfo等。