首页 > 解决方案 > 元数据中android:value的使用——Android

问题描述

我对元数据中值的使用感到困惑。当我提供活动的元数据时,它与android:value我提供的内容有什么关系。这个值有什么作用。

例子

`        <activity
            android:name=".SecondActivity"
            android:label="@string/activity2_name"
            android:parentActivityName=".MainActivity">
            <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value=".SecondActivity" />
        </activity>`

是的,我查看了https://developer.android.com/guide/topics/manifest/meta-data-element上的元数据文档。说明

分配给项目的值。

对我来说没有意义。任何人都可以向我解释android:value元数据的使用或关于数据提供什么的规则。

当我在清单中没有值时,为什么它会给我错误,例如。 Failed to finalize session : INSTALL_PARSE_FAILED_MANIFEST_MALFORMED:...<meta-data> requires an android:value or android:resource attribute

注意:对于该错误/问题,我不是在寻找特定于我的代码的答案。如果有的话,只是一个一般性的答案。

谢谢 :)

标签: androidandroid-studioandroid-manifestmanifest

解决方案


meta-data 是一个名称-值对,所以 的含义android:value是依赖于android:name。对于您的示例:

<meta-data
   android:name="android.support.PARENT_ACTIVITY" //the activity has a parent activity 
   android:value=".SecondActivity" //the parent activity name is SecondActivity
/>

什么是父 Activity 以及如何使用它,您可以参考https://developer.android.com/training/implementing-navigation/ancestral#top_of_page

如果您只提供android:name但不提供android:value,那毫无意义。


推荐阅读