Использование андроида: значение в метаданных - Android - PullRequest
0 голосов
/ 20 ноября 2018

Меня смущает использование значений в метаданных. Когда я даю метаданные о деятельности, что она делает с 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

ПРИМЕЧАНИЕ. Я не ищу ответ, специфичный для моего кода, для этой ошибки / вопроса. Просто общий ответ, если таковой имеется.

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 20 ноября 2018

@ navylover ответ правильный и полезный, но я хотел бы расширить его, сказав. Значение родительского действия можно найти, выполнив "имя пакета". "Имя приложения". "Имя действия"

Их можно найти в файле build.gradle. Пример того, как будет выглядеть код: https://developer.android.com/studio/build/application-id.

0 голосов
/ 20 ноября 2018

метаданные - это пара имя-значение , поэтому значение 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, это бессмысленно.

...