Membuat App Shortcut seperti aplikasi OVO

Google meluncurkan pembaharuan untuk Android Nougat (API Level 25) dengan merilis fitur-fitur seperti Multi-Window Support, Quick Settings Tile API, Vulkan API, App Shortcut, dsb. Untuk update selengkapnya bisa dicek disini. Kali ini kita akan membahas salah satu fitur tersebut yaitu App Shortcut

App Shortcut memungkinkan pengguna mengakses fitur atau halaman dari aplikasi anda secara langsung dari launcher dengan cara menekan lama pada ikon aplikasi tersebut. Salah satu aplikasi yang sudah menggunakan fitur tersebut adalah OVO dan kali ini kita akan mencoba menerapkan fitur tersebut pada aplikasi yang sedang kita bangun.

Kita bisa membuat maksimal 5 shortcut dari aplikasi yang kita bangung. Ada 2 jenis tipe App Shortcut yaitu :

  1. Static –> Tidak bisa diganti kecuali mengganti isi file dan melakukan update dari aplikasi
  2. Dynamic –> Bisa diganti saat runtime. Shorcut-shortcut yang ada bisa diganti tanpa melakukan update dari aplikasi

Untuk contoh ini kita akan membuat App Shortcut dengan tipe Static

1.Buat sebuah activity baru dengan nama SecondActivity, karena aksi yang akan kita buat adalah membuka sebuah halaman baru.

2. Buat file shortcuts.xml didalam folder res > xml

<?xml version="1.0" encoding="utf-8"?>
<shortcuts xmlns:android="http://schemas.android.com/apk/res/android">
    <shortcut
        android:enabled="true"
        android:icon="@mipmap/ic_launcher"
        android:shortcutDisabledMessage="@string/transfer_disabled_text"
        android:shortcutId="transfer"
        android:shortcutLongLabel="@string/transfer_long_text"
        android:shortcutShortLabel="@string/transfer_short_text">

        <intent
            android:action="android.intent.action.VIEW"
      android:targetClass="<applicationId>.SecondActivity"
            android:targetPackage="<applicationId>" />

    </shortcut>

    <shortcut
        android:enabled="true"
        android:icon="@mipmap/ic_launcher"
        android:shortcutDisabledMessage="@string/deals_disabled_text"
        android:shortcutId="deals"
        android:shortcutLongLabel="@string/deals_long_text"
        android:shortcutShortLabel="@string/deals_short_text">

        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="<applicationId>.SecondActivity"
            android:targetPackage="<applicationId>" />

    </shortcut>

    <shortcut
        android:enabled="true"
        android:icon="@mipmap/ic_launcher"
        android:shortcutDisabledMessage="@string/scan_disabled_text"
        android:shortcutId="scan"
        android:shortcutLongLabel="@string/scan_long_text"
        android:shortcutShortLabel="@string/scan_short_text">

        <intent
            android:action="android.intent.action.VIEW"
            android:targetClass="<applicationId>.SecondActivity"
            android:targetPackage="<applicationId>" />

    </shortcut>

</shortcuts>

<applicationId> bisa diganti dengan package name seperti : com.stevensiahaan.shortcutexample

3. Tambahkan metadata bagian activity di file AndroidManifest.xml

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

            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.VIEW" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

4. Run App dan lihat hasilnya pada emulator ataupun device yang kita gunakan.

Selamat mencoba dan semoga bermanfaat.

Cheers,
Steven Siahaan

Leave a Reply

Your email address will not be published. Required fields are marked *