35

我想在清单文件中添加一个自定义属性/属性,并能够在运行时读取它。我想这样做,以便我可以通过这些清单属性自定义应用程序的行为。如何才能做到这一点?

4

2 回答 2

76

您可以将元数据添加到您的AndroidManifest.xml文件中,然后在您的应用程序中读取它。

像这样写数据:

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

并像这样读取数据:

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

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

于 2011-10-28T12:11:30.790 回答
9

您可以在 res/values 中创建一个空资源文件,并向其中添加字符串和项目(对于布尔值或整数值)。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="foo">bar</string">
    <item name="testint" type="integer">33</item>
    <item name="testbool" type="bool">true</item>
</resources>

或者,您可以简单地使用一个常量对象,在其中将您的属性定义为最终静态变量。

于 2011-10-28T12:02:29.513 回答