【问题标题】:Is it possible to have custom attributes in AndroidManifest.xml tags?是否可以在 AndroidManifest.xml 标签中有自定义属性?
【发布时间】:2012-04-25 08:18:17
【问题描述】:

我想向我的 AndroidManifest.xml 文件的应用程序标记添加一个自定义属性。这在 Android 环境中可行吗?

【问题讨论】:

  • 我猜不是……但你能详细说明一下吗……
  • 当然,我的动机在这里:stackoverflow.com/q/10311504/183123。我想在我正在开发的服务中注册一个应用程序。目标应用程序不需要运行

标签: android android-manifest


【解决方案1】:

是的。这是一个例子。自定义标签是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")

【讨论】:

  • 嗯。没有评论的反对票。那没有帮助!如果您回来,请告诉我我的回答有什么问题!
  • 您似乎无法将 添加到 标记。这是相关文档:developer.android.com/guide/topics/manifest/…
  • @JoeBowers 谢谢。有趣的!但是,它确实有效,并继续在已发布的应用程序中工作,因此大概在所有更高版本下。不过我会再次测试。
  • 好的,现在对一个非常好的答案投了 2 票。我不是为了积分,我真的不在乎失去其中的两个,我有数千个,所以如果你愿意,请继续投反对票,但请好心告诉我原因。
【解决方案2】:

您不能为预定义标签定义自定义属性,但可以添加名为 meta-data 的键值对。

【讨论】:

    【解决方案3】:

    您可以选择SharedPreferences,而不是(又名设置)。

    【讨论】:

    • 这完全不相关。
    • 不完全。我正在寻找其他适合这种情况的解决方案。
    • 清单中的标签在编译时添加并在运行时访问。 sharedpreferences 在运行时创建和访问。
    • @njzk2 清单甚至在您的应用程序运行之前被访问,例如安装应用程序。
    • @zapl :由系统,是的。但您可以在应用运行时访问它
    【解决方案4】:

    在标签(以及服务和接收者)中,可以使用标签(http://developer.android.com/guide/topics/manifest/meta-data-element.html)

    它包含一个名称和一个值或一个资源 ID。

    您通过 PackageManager 检索它。

    【讨论】:

      【解决方案5】:

      如果有人需要 Xamarin(Android 的 Mono)我找不到常量,但我找到了它的值,即 128。

      我使用“for”条件遍历从 0 到 1000 的所有值,并检查 MetaData 属性是否为空。哈哈

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-09
        • 2018-01-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多