Les Réglages rapides sont des blocs qui s'affichent dans le panneau Réglages rapides. Les utilisateurs peuvent tapoter sur ces vignettes pour effectuer rapidement des tâches récurrentes. Ce document explique comment créer un bloc "Réglages rapides" personnalisé pour un code QR paiements.
Avant de continuer, assurez-vous de connaître les instructions générales et les bonnes pratiques les bonnes pratiques à suivre 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()
. Appuyer de manière prolongée une vignette affiche l'écran Informations sur l'application pour l'utilisateur. Pour ignorer ce comportement et lancez à la place une activité permettant de définir des 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 données des utilisateurs informations de paiement sensibles, n'effectuez que des actions sûres sur des appareils verrouillés de manière 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.