Les "Réglages rapides" sont des blocs affichés dans le panneau "Réglages rapides". Les utilisateurs peuvent appuyer sur ces vignettes pour effectuer rapidement des tâches récurrentes. Ce document explique comment créer un bloc Réglages rapides personnalisé pour les paiements par code QR.
Avant de continuer, assurez-vous de connaître les instructions générales et les bonnes pratiques pour créer des blocs "Réglages rapides" personnalisés pour votre application.
Pour créer votre carte, procédez comme suit:
- Créez votre icône personnalisée.
Pour lancer le paiement par code QR, renseignez la méthode
onClick()
. Si l'utilisateur appuie de manière prolongée sur une carte, l'écran "Informations sur l'application" s'affiche. Pour ignorer ce comportement et lancer une activité pour définir les préférences, ajoutez un<intent-filter>
à l'une de vos activités avecACTION_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); } }
Pour protéger les informations de paiement sensibles des utilisateurs, n'effectuez que des actions sécurisées sur les appareils verrouillés de façon sécurisée.
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); } }); } ... }
Lorsque vous présentez cette fonctionnalité pour la première fois, invitez l'utilisateur à ajouter votre carte.