ApplicationInfo元数据返回null



我有以下代码:

在舱单中:

<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。为什么会这样

请注意元数据的写入位置。例如,如果元数据包含在<application></application>中,则需要调用

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

如果包含在其他节点,则需要将getApplicationInfo更改为相应的方法,例如getActivityInfo, getServiceInfo

从最新的android文档,& lt; meta-data>只能包含在///中。所以你应该在这些组件中附加元数据,而不是在application>直接。

最新更新