- <activity>
- <activity-alias>
- <service>
- <receiver>
の4つしか書いてない。
だけど、ApplicationInfoにはmetaDataフィールドがあるし、
実機で検証したところ、期待通りに機能している。
public static Object getAppMetaData(Context context, String key) {
try {
final Bundle metaData =
context
.getPackageManager()
.getApplicationInfo(
context.getPackageName(),
PackageManager.GET_META_DATA)
.metaData;
if (null != metaData) {
return metaData.get(key);
}
} catch (NameNotFoundException e) {
}
return null;
}
「動く」けど、ドキュメントに書かれていない、この便利な機能を使ってよいのだろうか?
答えがないかと探していたら、見つけたっぽい。
AdMobのガイド。
<application>の子要素で<meta-data>使って"ADMOB_PUBLISHER_ID"をセットしている。
AdMobがこの仕組みを使ってるってことは、だれでも使っていいってことだろう。
いつかドキュメントが更新されるに違いない。
もしも問題になったとしても、解決策がすぐに提案されるだろう。

0 件のコメント:
コメントを投稿