【发布时间】:2012-04-25 08:18:17
【问题描述】:
我想向我的 AndroidManifest.xml 文件的应用程序标记添加一个自定义属性。这在 Android 环境中可行吗?
【问题讨论】:
-
我猜不是……但你能详细说明一下吗……
-
当然,我的动机在这里:stackoverflow.com/q/10311504/183123。我想在我正在开发的服务中注册一个应用程序。目标应用程序不需要运行
我想向我的 AndroidManifest.xml 文件的应用程序标记添加一个自定义属性。这在 Android 环境中可行吗?
【问题讨论】:
是的。这是一个例子。自定义标签是ContentVersion。
<application android:name=".MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name">
<meta-data android:name="ContentVersion" android:value="1.9" />
<activity android:name="com.someone.something.MainActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:screenOrientation="sensor"
android:label="@string/app_name">
访问它:
ApplicationInfo ai = _context.getPackageManager().getApplicationInfo(_context.getPackageName(),PackageManager.GET_META_DATA);
ai.metaData.get("ContentVersion")
【讨论】:
您不能为预定义标签定义自定义属性,但可以添加名为 meta-data 的键值对。
【讨论】:
您可以选择SharedPreferences,而不是(又名设置)。
【讨论】:
在标签(以及服务和接收者)中,可以使用标签(http://developer.android.com/guide/topics/manifest/meta-data-element.html)
它包含一个名称和一个值或一个资源 ID。
您通过 PackageManager 检索它。
【讨论】:
如果有人需要 Xamarin(Android 的 Mono)我找不到常量,但我找到了它的值,即 128。
我使用“for”条件遍历从 0 到 1000 的所有值,并检查 MetaData 属性是否为空。哈哈
【讨论】: