Admin 04 Jun 2026 03:11

 

Cara Menambahkan Tombol Kustom di Panel Cepat Android

Pendahuluan

Panel Cepat (Quick Settings) pada Android memungkinkan pengguna mengakses fungsi-fungsi penting dengan cepat. Secara standar, Android menyediakan tombol tombol seperti Wi Fi, Bluetooth, atau Mode Pesawat. Bagi pengguna yang menginginkan kontrol lebih, Android menyediakan cara menambahkan tombol kustom melalui TileService. Artikel ini menjelaskan langkah langkahnya secara lengkap.

Prasyarat

  • Android Studio (versi terbaru direkomendasikan).
  • Perangkat atau emulator dengan Android 7.0 (API 24) ke atas.
  • Pengetahuan dasar tentang Java/Kotlin dan Android Manifest.

1. Membuat Proyek Baru

Mulailah dengan membuat proyek Android baru:

  1. Buka Android Studio File > New > New Project.
  2. Pilih template Empty Activity dan beri nama, misalnya QuickTileDemo.
  3. Pastikan bahasa yang dipilih Java atau Kotlin (contoh menggunakan Kotlin).
  4. Tekan Finish dan tunggu proses build selesai.

2. Menambahkan Dependensi

Untuk menggunakan androidx versi terbaru, periksa build.gradle (Module) dan pastikan ada baris berikut:

implementation "androidx.core:core-ktx:1.12.0"

Jika belum ada, tambahkan dan sinkronkan proyek.

3. Membuat Kelas TileService

Kelas ini akan menangani logika tombol kustom. Berikut contoh sederhana yang menyalakan atau mematikan Bluetooth:

package com.example.quicktiledemo import android.service.quicksettings.Tile import android.service.quicksettings.TileService import android.bluetooth.BluetoothAdapter class BluetoothTileService : TileService() { private val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter() override fun onStartListening() { super.onStartListening() updateTile() } override fun onClick() { super.onClick() toggleBluetooth() updateTile() } private fun toggleBluetooth() { bluetoothAdapter?.let { if (it.isEnabled) { it.disable() } else { it.enable() } } } private fun updateTile() { qsTile?.let { tile -> if (bluetoothAdapter?.isEnabled == true) { tile.state = Tile.STATE_ACTIVE tile.label = "Bluetooth ON" tile.icon = Icon.createWithResource(this, R.drawable.ic_bluetooth_on) } else { tile.state = Tile.STATE_INACTIVE tile.label = "Bluetooth OFF" tile.icon = Icon.createWithResource(this, R.drawable.ic_bluetooth_off) } tile.updateTile() } } }

Catatan:

  • Gunakan android.service.quicksettings.TileService sebagai superclass.
  • Metode onStartListening() dipanggil ketika panel cepat dibuka.
  • Metode onClick() dipanggil saat pengguna menekan tile.

4. Menyiapkan Ikon

Taruh file ikon (format .png atau .xml vektor) di res/drawable. Contoh:

  • ic_bluetooth_on.xml
  • ic_bluetooth_off.xml

5. Mendaftarkan TileService di AndroidManifest

Tambahkan elemen service di dalam tag application:

<service android:name=".BluetoothTileService" android:label="Toggle Bluetooth" android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"> <intent-filter> <action android:name="android.service.quicksettings.action.QS_TILE"/> </intent-filter> </service>

Penting untuk menambahkan permission BIND_QUICK_SETTINGS_TILE agar sistem mengizinkan service ini muncul di panel cepat.

6. Meminta Izin yang Diperlukan

Untuk mengontrol Bluetooth, aplikasi harus memiliki izin berikut di AndroidManifest.xml:

<uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.POST_NOTIFICATIONS" />

Mulai Android 12, BLUETOOTH_CONNECT dan BLUETOOTH_ADVERTISE juga diperlukan. Tambahkan jika menargetkan API 31 ke atas.

7. Menambahkan Runtime Permission (Opsional)

Jika aplikasi menargetkan Android 6.0 (API 23) atau lebih tinggi, izin harus diminta pada saat runtime:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.BLUETOOTH_CONNECT) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.BLUETOOTH_CONNECT), REQUEST_CODE) }

8. Menguji Tile

  1. Jalankan aplikasi di perangkat atau emulator.
  2. Buka panel cepat (tarik dua jari dari atas layar atau geser ke bawah dua kali).
  3. Jika tile belum muncul, pilih Edit (ikon pensil) lalu seret tile Toggle Bluetooth ke posisi yang diinginkan.
  4. Klik tile; Bluetooth harus beralih antara ON/OFF dan ikon serta label berubah sesuai status.

9. Menambahkan Lebih Banyak Tile

Anda dapat membuat tile tambahan dengan cara serupa. Berikut contoh singkat untuk mengaktifkan mode Do Not Disturb :

class DnDTileService : TileService() { private val notificationManager by lazy { getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager } override fun onClick() { super.onClick() val current = notificationManager.currentInterruptionFilter val newMode = if (current == NotificationManager.INTERRUPTION_FILTER_ALL) NotificationManager.INTERRUPTION_FILTER_PRIORITY else NotificationManager.INTERRUPTION_FILTER_ALL notificationManager.setInterruptionFilter(newMode) updateTile() } private fun updateTile() { qsTile?.apply { if (notificationManager.currentInterruptionFilter == NotificationManager.INTERRUPTION_FILTER_ALL) { state = Tile.STATE_ACTIVE label = "Do Not Disturb OFF" icon = Icon.createWithResource(this@DnDTileService, R.drawable.ic_dnd_off) } else { state = Tile.STATE_INACTIVE label = "Do Not Disturb ON" icon = Icon.createWithResource(this@DnDTileService, R.drawable.ic_dnd_on) } updateTile() } } }

10. Tips & Troubleshooting

  • Tile tidak muncul? Pastikan aplikasi sudah ter install dan service terdaftar dengan permission yang tepat. Buka Settings Apps Quick Settings Tiles untuk memeriksa.
  • Ikon tidak berubah? Periksa kembali ID resource ikon dan pastikan file berada di folder drawable.
  • Masalah izin Bluetooth? Pada Android 13, gunakan izin BLUETOOTH_CONNECT dan mintalah runtime permission.
  • Tile tidak memperbarui status secara otomatis? Panggil qsTile.updateTile() setiap kali status berubah, biasanya di dalam onStartListening() dan onClick().

Kesimpulan

Menambahkan tombol kustom ke Panel Cepat Android dapat meningkatkan produktivitas dan memberikan kontrol cepat atas fungsi-fungsi perangkat. Dengan memanfaatkan TileService, Anda dapat membuat tile apa pun dari mengontrol Bluetooth, Wi Fi, mode gelap, hingga menjalankan skrip khusus. Ikuti langkah langkah di atas, sesuaikan logika sesuai kebutuhan, dan bagikan tile Anda kepada pengguna lain melalui Play Store atau distribusi langsung.

Selamat bereksperimen!

Cara Menambahkan Tombol Kustom Di Panel Cepat Android


admin
Admin
2026-06-04 03:11:04

Cara Mengubah Tampilan Panel Cepat di Android


admin
Admin
2026-05-22 02:00:19

Cara Menggunakan Lock Screen Kustom Android


admin
Admin
2026-06-04 02:58:06

Cara Membuka Dua Aplikasi Sekaligus Dengan Cepat


admin
Admin
2026-06-04 02:59:04

Cara Menambahkan Widget Ke Layar Kunci Android


admin
Admin
2026-06-04 02:59:04