Search code examples
androidandroid-manifestandroid-custom-attributes

How do you add user defined properties/values in to the Android manifest file?


I want to add a custom attribute / property into the manifest file, and be able to read it at run time. I want to do this so I can customize the app's behavior via these manifest properties. How can this be done?


Solution

  • You can add meta-data to your AndroidManifest.xml file and then read that in your application.

    Write the data like so:

    <meta-data android:value="bar" android:name="foo"></meta-data>
    

    And read the data like so:

    ApplicationInfo ai = context.getPackageManager().getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);
    Object value = (Object)ai.metaData.get("foo");
    

    See http://developer.android.com/guide/topics/manifest/meta-data-element.html