I need to retrieve a value from the AndroidManifest.xml
file, stored as a meta data:
<meta-data android:value="3" android:name="myInterestingValue" />
In the onCreate
method, I call the following method:
private Object getMetaData(String name) {
try {
ActivityInfo ai = getPackageManager().getActivityInfo(this.getComponentName(), PackageManager.GET_META_DATA);
Bundle metaData = ai.metaData;
if(metaData == null) {
debug("metaData is null. Unable to get meta data for " + name);
}
else {
Object value = (Object)metaData.get(name);
return value;
}
} catch (NameNotFoundException e) {
e.printStackTrace();
}
return null;
}
But the metaData
is always null. Is it impossible to access the metaData
in the onCreate
method? i.e. The activity has not been fully initialized yet.
You will need to use the flags GET_ACTIVITIES
and GET_META_DATA
.
ActivityInfo ai = getPackageManager()
.getActivityInfo(this.getComponentName(), PackageManager.GET_META_DATA);