Android/meta-data
提供: 初心者エンジニアの簡易メモ
meta-dataの値をactivityで取得する方法
meta-dataの名前は"com.example.~"のようにドメインをつけなくても良いが、つけたほうがより良い。(googleのライブラリとかはドメインをつけてる)
-AndroidManifest.xml
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<meta-data
android:name="com.example.log_flag"
android:value="true" />
<meta-data
android:name="com.example.custom1"
android:value="hogehoge" />
</application>
-MainActivity.java
Context context = MainActivity.this.getApplicationContext();
if (context != null) {
try {
ApplicationInfo appInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
if (appInfo.metaData != null) {
if (appInfo.metaData.get("com.example.log_flag") != null) {
Log.i("test", "log_flag=" + appInfo.metaData.getBoolean("com.example.log_flag", false)); // true
}
if (appInfo.metaData.get("com.example.custom1") != null) {
Log.i("test", "custom1=" + appInfo.metaData.getString("com.example.custom1")); // hogehoge
}
}
} catch (PackageManager.NameNotFoundException e) {
e.printStackTrace();
}
}
