facebook twitter hatena line email

Android/meta-data

提供: 初心者エンジニアの簡易メモ
2017年5月30日 (火) 14:05時点におけるAdmin (トーク | 投稿記録)による版 (meta-dataの値をactivityで取得する方法)

移動: 案内検索

meta-dataの値をactivityで取得する方法

-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();
    }
}