我对元数据中值的使用感到困惑。当我提供活动的元数据时,它对我提供的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
注意:我没有针对该错误/问题寻找特定于我的代码的答案。如果有的话,只是一个一般性的答案。
谢谢:)
答案 0 :(得分:1)
元数据是一个名称-值对,因此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
/>
什么是父活动以及如何使用它,您可以参考https://developer.android.com/training/implementing-navigation/ancestral#top_of_page
如果您仅提供android:name
而没有提供android:value
,则毫无意义。
答案 1 :(得分:0)
@navylover的答案是正确且有用的,但是我想在此进行扩展。可以通过执行“程序包名称”。“应用程序名称”。“活动名称”
来找到父活动的值。这些可以在build.gradle文件下找到。 该代码的示例如下:https://developer.android.com/studio/build/application-id。