Setelan Cepat adalah kartu yang ditampilkan di panel Setelan Cepat. Pengguna dapat mengetuk kartu ini untuk menyelesaikan tugas berulang dengan cepat. Dokumen ini menunjukkan cara membuat kartu Setelan Cepat kustom untuk Kode QR pembayaran.
Sebelum melanjutkan, pastikan Anda sudah familier dengan instruksi umum dan praktik untuk membuat kartu Setelan Cepat kustom untuk aplikasi Anda.
Untuk membuat kartu, ikuti langkah-langkah berikut:
- Buat ikon khusus Anda.
Untuk meluncurkan pembayaran Kode QR, isi metode
onClick()
. Mengetuk lama kartu meminta pengguna melihat layar Info Aplikasi. Untuk mengganti perilaku ini dan sebagai gantinya, luncurkan aktivitas untuk menyetel preferensi, tambahkan<intent-filter>
ke salah satu aktivitas Anda denganACTION_QS_TILE_PREFERENCES
.Kotlin
import android.service.quicksettings.TileService // Called when the user taps on your tile in an active or inactive state. override fun onClick() { // Create Intent, replace MainActivity::class.java with QR Code Activity val intent = Intent(this, MainActivity::class.java) // Create PendingIntent val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE) if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.UPSIDE_DOWN_CAKE) { startActivityAndCollapse(pendingIntent) } else { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) startActivityAndCollapse(intent) } }
Java
import android.service.quicksettings.TileService; // Called when the user taps on your tile in an active or inactive state. @Override public void onClick() { // Create Intent, replace MainActivity.class with QR Code Activity Intent intent = new Intent(MyQSTileService.this, MainActivity.class); // Create PendingIntent PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE); if (VERSION.SDK_INT >= VERSION_CODES.UPSIDE_DOWN_CAKE) { startActivityAndCollapse(pendingIntent); } else { intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivityAndCollapse(intent); } }
Untuk melindungi informasi pembayaran yang sensitif, hanya lakukan tindakan yang aman di perangkat yang terkunci dengan aman.
Kotlin
import android.service.quicksettings.TileService override fun onClick() { val intent = Intent(this, MainActivity::class.java) val pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE) // ... if (isSecure()) { startActivityAndCollapse(pendingIntent) } else { unlockAndRun { startActivityAndCollapse(pendingIntent) } } // ... }
Java
import android.service.quicksettings.TileService; @Override public void onClick() { Intent intent = new Intent(MyQSTileService.this, MainActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_IMMUTABLE); ... if (isSecure()) { startActivityAndCollapse(pendingIntent); } else { unlockAndRun(new Runnable() { @Override public void run() { startActivityAndCollapse(pendingIntent); } }); } ... }
Saat pertama kali memperkenalkan fitur ini, minta pengguna untuk menambahkan kartu.