Kachel für die Schnelleinstellungen für die QR-Code-Zahlung erstellen

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

So erstellen Sie Ihre Kachel:

  1. Benutzerdefiniertes Symbol erstellen
  2. TileService erstellen und deklarieren.

  3. 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 mit ACTION_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);
     }
    }
    
  4. 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);
         }
       });
      }
     ...
    }
    
  5. Wenn Sie diese Funktion zum ersten Mal vorstellen, bitten Sie den Nutzer, Ihre Kachel