La Configuración rápida son tarjetas que se muestran en el panel de Configuración rápida. Los usuarios pueden presionar estas tarjetas para completar tareas recurrentes con rapidez. En este documento, se muestra cómo crear un mosaico personalizado de Configuración rápida para código QR. pagos.
Antes de continuar, asegúrate de conocer las instrucciones generales prácticas para crear tarjetas de Configuración rápida personalizadas para tu app.
Para crear tu tarjeta, sigue estos pasos:
- Crea un ícono personalizado.
Para iniciar el pago con código QR, completa el método
onClick()
. Mantén presionado una tarjeta solicita al usuario la pantalla Información de la app. Para anular este comportamiento, sigue estos pasos: y, en su lugar, inicia una actividad para configurar preferencias, agrega una<intent-filter>
a una de tus actividades conACTION_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); } }
Para proteger las contraseñas información de pago confidencial, solo realice acciones seguras en dispositivos bloqueados de forma segura.
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); } }); } ... }
Cuando introduzcas esta función por primera vez, pídele al usuario que agregue tu mosaico.