Statyczne skróty w Android Nougat 7.1

Statyczne skróty w Android Nougat 7.1

Wraz z nowym Androidem Nougat w wersji 7.1 (API 25) Google zaoferowało kilka ciekawych możliwości. Jedną z nich jest opcja utworzenia skrótów do aplikacji. W poniższym wpisie pokażę, jak działają skróty statyczne.

Skróty w Androidzie – podstawowe informacje

Umożliwiają one automatyczne przeniesienie użytkownika w wybrane miejsce aplikacji. Pozwala to np. na szybszy dostęp do najczęściej używanej funkcjonalności aplikacji, oszczędzając użytkownikowi wykonywania niezbędnych kroków, aby dostać się do danej aktywności.

Skróty w Androidzie podzielić można na dwa rodzaje: statyczne i dynamiczne. Różnią się one całkowicie pod kątem tworzenia. Statyczne są tworzone poprzez XML, w przeciwieństwie do dynamicznych, które mogą powstać w dowolnym miejscu w kodzie aplikacji. W dzisiejszym wpisie skupię się na skrótach statycznych.

Tworzenie skrótów statycznych

Aby dodać do aplikacji skróty statyczne, jak już wspomniałam, należy utworzyć odpowiedni XML. Plik ten należy stworzyć pod ścieżką /res/xml/shortcuts.xml. W nim definiowane są wszystkie skróty statyczne. Poniżej widać dwa przykładowe skróty.

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
	<shortcut
    	android:shortcutId="enableShortcut"
    	android:enabled="true"
    	android:icon="@android:drawable/star_on"
    	android:shortcutShortLabel="@string/short_shortcut_label"
    	android:shortcutLongLabel="@string/long_shortcut_label"
    	android:shortcutDisabledMessage="@string/shortcut_disabled">
    	<intent
        	android:action="android.intent.action.MAIN"
        	android:targetPackage="com.example.dominika.shortcuts"
        	android:targetClass="com.example.dominika.shortcuts.MainActivity" />
    	<intent
        	android:action="android.intent.action.VIEW"
        	android:targetPackage="com.example.dominika.shortcuts"
        	android:targetClass="com.example.dominika.shortcuts.ShortcutActivity" />
	</shortcut>


	<shortcut
    	android:shortcutId="disableShortcut"
    	android:enabled="false"
    	android:icon="@android:drawable/star_off"
    	android:shortcutShortLabel="@string/disable_shortcut_label"
    	android:shortcutDisabledMessage="@string/shortcut_disabled">
    	<intent
        	android:action="android.intent.action.VIEW"
        	android:targetPackage="com.example.dominika.shortcuts"
        	android:targetClass="com.example.dominika.shortcuts.ShortcutActivity" />
	</shortcut>
</shortcuts>

Należy tutaj zwrócić uwagę na kilka podstawowych parametrów:

  • flaga enabled – definiuje czy skrót jest dostępny,
  • icon – definiuje ikonę widoczną po lewej stronie od nazwy, w liście skrótów aplikacji lub po prostu ikonę główną, po wyodrębnieniu naszego skrótu na ekranie,
  • shortcutShortLabel – obowiązkowa, krótka nazwa naszego skrótu,
  • shortcutLongLabel – pole opcjonalne, które będzie widoczne tylko gdy nazwa zmieści się na ekranie,
  • shortcutDisabledMessage – wiadomość, która pokaże się jeśli użytkownik spróbuje uruchomić niedostępny skrót,
  • intent – kluczowe elementy, w których określane jest do czego prowadzi skrót.

Następnie należy uwzględnić stworzony plik w manifeście. Tak więc po otwarciu AndroidManifest.xml, jeszcze w głównej aktywności, trzeba dodać poniższy fragment kodu:

<meta-data
            	android:name="android.app.shortcuts"
            	android:resource="@xml/shortcuts"/>

W powyższym przykładzie, stworzone zostały dwa skróty, które prowadzą do utworzonej na potrzeby przykładu ShortcutActivity. Drugi z nich ustawiony jako niedostępny, prowadzi bezpośrednio do nowej aktywności. Pierwszy z kolei, ma podane 2 intenty, które spowodują, że utworzony zostanie back stack aplikacji. Odzwierciedla to zwykłe uruchomienie dwóch aktywności w zdefiniowanej kolejności (pierw MainActivity, następnie ShortcutActivity).

Poniżej przedstawiony jest uzyskany rezultat:

App preview - emulator in Android Studio

Zwróćmy uwagę, że jeśli skrót jest niedostępny, nie widnieje na liście skrótów. Jednak każdy skrót można wydzielić na ekranie, wtedy (przy niedostępnym skrócie) ikona Androida zostaje wyszarzana, a po kliknięciu użytkownik zobaczy TOAST ze zdefiniowaną wiadomością.

Android Nougat dostarczył nam kilka nowinek. Skróty do aplikacji to na pewno jedna z bardziej interesujących propozycji. Jak widać dodanie statycznych skrótów nie jest niczym skomplikowanym. Zachęcam Was do wypróbowania stworzenia własnych skrótów.

Dowiedz się więcej

Wycena projektu

Opowiedz nam o swoim projekcie i napisz, jak możemy Ci pomóc.

Dlaczego warto rozwijać z nami projekty?

Logo Mobile Trends Awards

Mobile Trends Awards 2021

Wygrana w kategorii
ŻYCIE CODZIENNE

Nagroda Legalnych Bukmacherów

Nagroda Legalnych Bukmacherów 2019

Najlepsza aplikacja mobilna

Mobile Trends Awards logo

Mobile Trends Awards 2023

Wygrana w kategorii
MCOMMERCE ROZWÓJ

23

opinie klientów

Clutch logo