В помощь мобильному разработчику

Делаем меню быстрого доступа в Xamarin для Android 7.1

Александр Алексеев

После выхода лаунчера Pixel для Android 7.1, мы можем по-настоящему «взяться» за семёрку, и освоение некоторых новых особенностей незачем откладывать на потом.

Ярлык приложения в Android 7.1

Ярлыки приложений в Android 7.1 (Xamarin.Android)

 

Одной из особенностей, введения которой я ждал с большим нетерпением, является функция App Shortcuts (ранее также известная как Quickcuts). Эту функцию можно считать практически полным аналогом соответствующего решения для iOS под названием 3D Touch Quick Actions.

И хотя, строго говоря, в случае с Google Now и Pixel Launcher для работы данной функции необходим Android 7.1 или выше, в множество других лаунчеров уже добавлена поддержка ярлыков приложений, а они не требуют последней версии Android.

Согласно официальной документации Google об App Shortcut, мы имеем возможность создавать как статические, так и динамические ярлыки приложений. В этой статье мы рассмотрим только статические ярлыки, поскольку на момент её написания, обновление Xamarin, предназначенное обеспечить нас новыми API-интерфейсами для сознания динамических ярлыков, все ещё находится в разработке.

Статические ярлыки

Статические ярлыки объявляются в файле ресурсов и не могут быть изменены. Они всегда будут одинаково отображаться в списке ярлыков приложения. В случае со многими приложениями они оказываются очень полезными, и Вы, вероятно, будете использовать их в каждом проекте.

  1. Трюк с манифестом

Чтобы уже начинать работать, пока Xamarin.Android готовится получить обновление для поддержки уровня API 25, мы пойдём на небольшую уловку, выполнив некоторые манипуляции в нашем манифесте.

В элементе application Вашего AndroidManifest.xml измените или добавьте атрибут android:targetSdkVersion со значением 25.

 

  1. Объявите ярлыки

Статические ярлыки создаются в файле XML-ресурсов. Как правило, Вы создаёте вот такой файл: Resources\xml\shortcuts.xml. Формат у него довольно простой:

 

Вы можете объявить несколько ярлыков в одном файле.

Каждый из Ваших ярлыков может также включать в себя нескольких элементов <intent .. />, которые будут использоваться в качестве стек переходов назад, когда пользователь задействует ярлык. Последний в списке элемент <intent .. /> окажется первым, увиденным пользователем при запуске ярлыка.

 

  1. Убедитесь, что у Вас правильный targetClass

На тот случай, если Вы ещё этого не знаете, поясним, что по умолчанию в Xamarin.Android Ваши Activities будут иметь свой сгенерированный посредством Java соответствующий код, названный с хэш-префиксом (по причинам, для объяснения которых не хватит места в этой статье). Таким образом, определять верный targetClass для использования в intent-декларации ярлыка бывает не так уж и легко, как можно было бы подумать.

К счастью, существует один простой обходной путь. В атрибуте [Activity] вы можете указать сгенерированное Java имя класса, напрямую обосновав Name свойства.  Вам следует дать полные имена пакета и класса, например:

 

  1. Сопоставьте shortcuts.xml с Main Activity

Теперь, когда вы создали файл XML-ресурсов ярлыка, необходимо связать его с Activity вашего приложения, которое обозначается как Main Launcher. Мы можем сделать это, просто добавив к Activity атрибут MetaData:

 

Готово. Теперь можно устанавливать приложение и тестировать Ваши App Shortcuts! Вот, собственно, и все, что нужно сделать.

quickcuts-demo

 

Автор: Jonathan Dick
ИсточникБлог автора

Александр Алексеев
Александр Алексеев

Xamarin - разработчик. Работаю с .NET платформой с 2012 года, программирую в основном с использованием C#. За это время успел поработать с ASP.NET, Entity Framework, MSSQL, Git

Написать ответ