Schnelleinstellungen sind Kacheln, die im Bereich Schnelleinstellungen angezeigt werden. Nutzer können auf diese Kacheln tippen, um wiederkehrende Aufgaben schnell zu erledigen. In diesem Dokument erfahren Sie, wie Sie eine benutzerdefinierte Kachel für Schnelleinstellungen für QR-Code erstellen Zahlungen.
Machen Sie sich mit den allgemeinen Anweisungen vertraut und Tipps für das Erstellen benutzerdefinierter Schnelleinstellungen-Kacheln für Ihre App
- Benutzerdefiniertes Symbol erstellen
Um die QR-Code-Zahlung zu starten, geben Sie die Methode
onClick()
ein. Langes Tippen wird der Bildschirm mit den App-Infos für den Nutzer angezeigt. Um dieses Verhalten zu überschreiben, und stattdessen eine Aktivität zum Festlegen von Einstellungen starten, fügen Sie eine<intent-filter>
auf eine deiner Aktivitäten mitACTION_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); } }
Zum Schutz der vertrauliche Zahlungsinformationen, führen Sie nur sichere Aktionen aus. auf sicher gesperrten Geräten.
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); } }); } ... }
Wenn Sie diese Funktion zum ersten Mal vorstellen, bitten Sie den Nutzer, Ihre Kachel