obtenir activityInfo métadonnées dans la méthode onCreate
J'ai besoin de récupérer une valeur à partir de la AndroidManifest.xml
de fichiers, stockés sous forme de méta-données:
<meta-data android:value="3" android:name="myInterestingValue" />
Dans le onCreate
la méthode, j'ai appeler la méthode suivante:
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;
}
Mais la metaData
est toujours null. Il est impossible d'accéder à la metaData
dans le onCreate
méthode? c'est à dire L'activité n'a pas été entièrement initialisé encore.
OriginalL'auteur Julien | 2011-09-21
Vous devez vous connecter pour publier un commentaire.
Vous aurez besoin d'utiliser les drapeaux
GET_ACTIVITIES
etGET_META_DATA
.OriginalL'auteur jasonj
Si vous êtes intéressé, android-métadonnées est un cadre qui rend plus facile d'obtenir des métadonnées à partir de l'Android manifeste. La façon dont vous voulez obtenir le méta-données ci-dessus à l'aide de android-métadonnées est:
Divulgation complète: je suis le créateur d'android-métadonnées.
OriginalL'auteur James H. Hill
J'ai essayé jasonj de la réponse, mais il ne fonctionne pas. Pour récupérer les méta-données du fichier de manifeste, je dois obtenir le code suivant
OU la Kotlin version:
Merci @mrroboaat, ça fonctionne! enfin!!!
OriginalL'auteur mrroboaat