我有以下代码:
在清单中:
<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。为什么会发生这种情况
答案 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
更改为相关方法,例如getActivityInfo
,getServiceInfo
等。