Может ли создатель статических ярлыков приложений Android 7.1 добавить в намерение дополнительные функции?

Это короткий вопрос:

Android Nougat 7.1 имеет новую функцию для программ запуска, позволяющую создавать ярлыки приложений, отображая меню для их выбора: https://developer.android.com/about/versions/nougat/android-7.1.html. https://developer.android.com/guide/топики/ui/shortcuts.html

Из того, что я вижу, если вы используете динамические, вы можете поместить в них все, что пожелаете, но могут ли статические ярлыки (предопределенные через XML) иметь в них дополнительные функции? Смысл: можно ли поставить, например, строку в пучок намерений ярлыков? Или я могу только выбрать, какое действие будет у каждого из них?

Я спрашиваю об этом, потому что я не вижу, чтобы это упоминалось там.


person android developer    schedule 06.01.2017    source источник
comment
Я не уверен, что есть документация о том, что может быть в элементе <intent> где угодно (например, в XML предпочтений).   -  person CommonsWare    schedule 07.01.2017
comment
@CommonsWare Вот почему я спрашиваю об этом. Я не могу найти информацию об этом. Я надеюсь, что это возможно, просто потому, что это дает немного больше гибкости.   -  person android developer    schedule 07.01.2017


Ответы (1)


Да, согласно R.styleable#Intent:

Объявление объекта Intent в XML. Может также включать ноль или более тегов <categories> и <extra>.

Анализ намерения можно увидеть в исходный код Intent.parseIntent, где вы увидите, что он анализирует теги extra с помощью Resources.parseBundleExtra(), который поддерживает строки, логические значения, целые числа и числа с плавающей запятой.

<intent android:action="YOUR_ACTION" >
     <extra android:name="extra_name" android:value="extra_value" />
</intent>
person ianhanniballake    schedule 06.01.2017
comment
Я только что просмотрел файл исходный код ShortcutParser и отслеживаться оттуда. - person ianhanniballake; 07.01.2017
comment
Кажется, работает хорошо. Знаете ли вы другие интересные вещи о ярлыках приложений? Например, когда используется ярлыкDisabledMessage? И почему, если я ставлю несколько статических ярлыков приложений, они отображаются в обратном порядке? - person android developer; 07.01.2017
comment
Порядок связан со значком запуска. Первый объявленный ярлык всегда будет отображаться рядом со значком программы запуска. Если список ярлыков отображается над значком программы запуска, первый заявленный ярлык будет отображаться в нижней части списка, если список ярлыков отображается под значком панели запуска, первый объявленный ярлык будет вверху списка. Надеюсь, это поможет вам! - person Jonathan Aste; 06.02.2017
comment
@JonathanAste - не обязательно. Программы запуска могут отображать их в любом порядке, но должны попытаться отсортировать их по rank и, как правило, разрывают связи, используя определенный порядок, но они также могут сортировать их по альфа-каналу и т. д. - person ianhanniballake; 06.02.2017