Schnellzugriff-Geldbörse,Schnellzugriff-Geldbörse,Schnellzugriff-Geldbörse,Schnellzugriff-Geldbörse

Mit Sammlungen den Überblick behalten Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.

Die Quick Access Wallet-Funktion, die ab Android 11 verfügbar ist, ermöglicht dem Benutzer den Zugriff auf Zahlungskarten und relevante Pässe direkt über das Power-Menü. Zu den wichtigsten Anwendungsfällen gehören die Auswahl der geeigneten Zahlungsmethode vor der Durchführung einer Transaktion an einem NFC-Terminal und der schnelle Zugriff auf Flüge und andere Pässe für bevorstehende Veranstaltungen.

In Android 12 oder höher ist die Quick Access Wallet-Funktion im Schatten verfügbar, wie in Abbildung 1 und Abbildung 2 gezeigt.

Quick Access Wallet-Funktion im Schatten
Abbildung 1. Wallet-Schnellzugriffsfunktion (Gerät gesperrt).
Quick Access Wallet-Funktion im Schatten
Abbildung 2. Quick Access Wallet-Funktion (Gerät entsperrt).

In Android 11 ist die Funktion über das Power-Menü verfügbar, wie in Abbildung 3 gezeigt.

Quick Access Wallet-Funktion im Power-Menü
Abbildung 3. Quick Access Wallet-Funktion im Power-Menü.

Anforderungen

Ihr Gerät muss über NFC verfügen, um die Quick Access Wallet-Funktion verwenden zu können. Die Funktion bindet an QuickAccessWalletService der Standard-NFC-Zahlungs-App, was bedeutet, dass das Gerät auch die Host-basierte NFC-Kartenemulation (HCE) unterstützen muss.

Funktionsübersicht

Das Quick Access Wallet besteht aus zwei Teilen: der Quick Access Wallet-Benutzeroberfläche und dem Quick Access Wallet-Kartenanbieter.

In Android 12 oder höher wird die Wallet-Benutzeroberfläche in der System-Benutzeroberfläche ausgeführt und befindet sich in frameworks/base/packages/SystemUI/src/com/android/systemui/wallet . In Android 11 muss die Wallet-Benutzeroberfläche, die sich unter platform/packages/apps/QuickAccessWallet befindet, installiert und auf die Whitelist gesetzt werden.

Der Quick Access Wallet-Kartenanbieter ist die standardmäßige NFC-Zahlungs-App. Benutzer können mehrere NFC-Zahlungs-Apps gleichzeitig installiert haben, aber nur die Standard -NFC-Zahlungs-App kann Karten im Power-Menü anzeigen. Sie können festlegen, welche NFC-Zahlungs-App anfänglich als Standard festgelegt wird, aber Benutzer können in den Einstellungen eine andere App auswählen. Wenn nur eine NFC-Zahlungs-App installiert ist, wird diese automatisch zum Standard (siehe CardEmulationManager ).

Implementierung

Um Karten für die Quick Access Wallet-Benutzeroberfläche bereitzustellen, müssen NFC-Zahlungs-Apps QuickAccessWalletService implementieren. Bezahl-Apps müssen einen Manifest-Eintrag enthalten, der für den Dienst wirbt.

Um sicherzustellen, dass nur die System-UI an QuickAccessWalletService werden kann, muss die NFC-Zahlungs-App die android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE erfordern. Das Erfordernis dieser Berechtigung stellt sicher, dass nur die System-Benutzeroberfläche eine Bindung an QuickAccessWalletService kann.

<service
     android:name=".MyQuickAccessWalletService"
     android:label="@string/my_default_tile_label"
     android:icon="@drawable/my_default_icon_label"
     android:logo="@drawable/my_wallet_logo"
     android:permission="android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE">
     <intent-filter>
         <action android:name="android.service.quickaccesswallet.QuickAccessWalletService" />
         <category android:name="android.intent.category.DEFAULT"/>
     </intent-filter>
     <meta-data android:name="android.quickaccesswallet"
          android:resource="@xml/quickaccesswallet_configuration" />
     <meta-data
          android:name="android.quickaccesswallet.tile"
          android:resource="@drawable/my_default_tile_icon"/>
</service>

Weitere Informationen zum Wallet sind in der verlinkten XML-Datei enthalten:

<quickaccesswallet-service
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:settingsActivity="com.example.android.SettingsActivity"
   android:shortcutLongLabel="@string/my_wallet_empty_state_text"
   android:shortcutShortLabel="@string/my_wallet_button_text"
   android:targetActivity="com.example.android.WalletActivity"/>

Als nächstes muss die Zahlungs-App QuickAccessWalletService implementieren:

public class MyQuickAccessWalletService extends QuickAccessWalletService {

    @Override
    public void onWalletCardsRequested(
            GetWalletCardsRequest request,
            GetWalletCardsCallback callback) {
        GetWalletCardsResponse response = // generate response
        callback.onSuccess(response);
    }

    @Override
    public void onWalletCardSelected(SelectWalletCardRequest request) {
        // selecting a card should ensure that it is used when making an NFC payment
    }

    @Override
    public void onWalletDismissed() {
        // May un-select card if the wallet app has the concept of a 'default'
        // payment method
    }
}

Wenn HostApduService mit der Abwicklung einer NFC-Transaktion beginnt und infolgedessen eine Aktivität startet, um den Fortschritt und das Ergebnis der Zahlung anzuzeigen, sollte es auch versuchen, eine Referenz auf den gebundenen QuickAccessWalletService zu erhalten und QuickAccessWalletService#sendEvent mit einem Ereignistyp von TYPE_NFC_PAYMENT_STARTED . Dies führt dazu, dass die Quick Access Wallet UI geschlossen wird, wodurch der Benutzer eine ungehinderte Sicht auf die Zahlungsaktivität erhält.

Weitere Dokumentation zur Implementierung von QuickAccessWalletService finden Sie unter QuickAccessWalletService und TestQuickAccessWalletService CTS-Test.

Aktivieren der Quick Access Wallet-Benutzeroberfläche in Android 11

Um das Quick Access Wallet so zu konfigurieren, dass es über das Power-Menü in Android 11 verfügbar ist, schließen Sie das QuickAccessWallet Ziel in den Build ein und aktivieren Sie das Plugin globalactions.wallet , indem Sie die fett gedruckte Zeile im Codebeispiel unten zu overlay/frameworks/base/packages/SystemUI/res/values/config.xml hinzufügen. overlay/frameworks/base/packages/SystemUI/res/values/config.xml -Datei.

<resources>
    ...
    <!-- SystemUI Plugins that can be loaded on user builds. -->
    <string-array name="config_pluginWhitelist" translatable="false">
        <item>com.android.systemui</item>
        <item>com.android.systemui.plugin.globalactions.wallet</item>
    </string-array>
</resources>

Geben Sie die standardmäßige NFC-Zahlungs-App in der Einstellungskonfigurationsdatei mit def_nfc_payment_component .

Die standardmäßige NFC-Zahlungs-App muss QuickAccessWalletService verfügbar machen, um Karten für das Quick Access Wallet bereitzustellen. Wenn die standardmäßige NFC-Zahlungs-App diesen Dienst nicht exportiert, wird die Brieftaschen-Benutzeroberfläche ausgeblendet.

QuickAccessWalletService-Implementierungsdetails

QuickAccessWalletService hat drei abstrakte Methoden, die implementiert werden müssen: onWalletCardsRequested , onWalletCardSelected und onWalletDismissed . Das folgende Sequenzdiagramm veranschaulicht eine Aufrufsequenz, wenn das Quick Access Wallet unmittelbar vor einer NFC-Zahlung angezeigt wird.

Schnellzugriffs-Wallet-Sequenzdiagramm

Beispiel für eine Anrufsequenz, wenn Quick Access Wallet angezeigt wird
Abbildung 4. Beispiel für eine Aufrufsequenz, wenn Quick Access Wallet angezeigt wird.

Nicht auf alle Ansichten des Quick Access Wallet folgt eine NFC-Zahlung, aber Abbildung 4 oben veranschaulicht alle Funktionen von QuickAccessWalletService . In diesem Beispiel implementiert der Quick Access Wallet-Kartenanbieter die blau umrandeten Elemente. Es wird davon ausgegangen, dass Zahlungskarten auf dem Gerät in einer Datenbank gespeichert sind und auf die über eine Schnittstelle namens PaymentCardManager . Es wird weiterhin angenommen, dass eine Aktivität namens PaymentActivity das Ergebnis einer NFC-Zahlung anzeigt. Der Ablauf läuft wie folgt ab:

  1. Der Benutzer führt eine Geste aus, um das Quick Access Wallet aufzurufen.
  2. Die Quick Access Wallet-Benutzeroberfläche (Teil der System-Benutzeroberfläche) überprüft den Paketmanager, um festzustellen, ob die standardmäßige NFC-Zahlungs-App QuickAccessWalletService exportiert.

    • Wenn der Dienst nicht exportiert wird, wird das Quick Access Wallet nicht angezeigt.
  3. Die Quick Access Wallet-Benutzeroberfläche bindet an den QuickAccessWalletService und ruft onWalletCardsRequested . Diese Methode nimmt ein Anforderungsobjekt, das Daten über die Anzahl und Größe der Karten enthält, die bereitgestellt werden können, und einen Rückruf. Der Rückruf kann von einem Hintergrund-Thread aufgerufen werden.

  4. QuickAccessWalletService berechnet die Karten, die angezeigt werden sollen, und ruft dann die onSuccess Methode für den bereitgestellten Rückruf auf. Es wird empfohlen, dass der Dienst diese Aktionen in einem Hintergrundthread ausführt.

  5. Sobald die Karten angezeigt werden, benachrichtigt die System-UI QuickAccessWalletService , dass die erste Karte ausgewählt wurde, indem onWalletCardSelected .

    • onWalletCardSelected wird jedes Mal aufgerufen, wenn der Benutzer eine neue Karte auswählt.
    • onWalletCardSelected kann auch dann aufgerufen werden, wenn sich die aktuell ausgewählte Karte nicht geändert hat.
  6. Wenn der Benutzer das Quick Access Wallet schließt, benachrichtigt die System-UI QuickAccessWalletService durch Aufrufen von onWalletDismissed .

Im obigen Beispiel bringt der Benutzer das Telefon in die Reichweite eines NFC-Zahlungsterminals, während die Brieftasche angezeigt wird. Eine Schlüsselkomponente bei der Abwicklung von NFC-Zahlungen ist HostApduService , das implementiert werden muss, um APDUs zu verarbeiten, die vom NFC-Lesegerät bereitgestellt werden (weitere Informationen finden Sie unter Hostbasierte Kartenemulation ). Es wird davon ausgegangen, dass die Bezahl-App eine Aktivität startet, um den Fortschritt und das Ergebnis der Interaktion mit dem NFC-Terminal anzuzeigen. Die Schnellzugriffs-Wallet-Benutzeroberfläche wird jedoch über dem App-Fenster angezeigt, was bedeutet, dass die Zahlungsaktivität durch die Schnellzugriffs-Wallet-Benutzeroberfläche verdeckt wird. Um dies zu korrigieren, muss die App die System-Benutzeroberfläche benachrichtigen, dass die Quick Access Wallet-Benutzeroberfläche geschlossen werden soll. Dazu kann es einen Verweis auf den gebundenen QuickAccessWalletService und sendWalletServiceEvent mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED .

QuickAccessWalletService-Beispielimplementierung

/** Sample implementation of {@link QuickAccessWalletService} */
@RequiresApi(VERSION_CODES.R)
public class MyQuickAccessWalletService extends QuickAccessWalletService {

  private static final String TAG = "QAWalletSvc";
  private ExecutorService executor;
  private PaymentCardManager paymentCardManager;

  @Override
  public void onCreate() {
    super.onCreate();
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      Log.w(TAG, "Should not run on pre-R devices");
      stopSelf();
      return;
    }
    executor = Executors.newSingleThreadExecutor();
    paymentCardManager = new PaymentCardManager();
  }

  @Override
  public void onDestroy() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.shutdownNow();
  }

  @Override
  public void onWalletCardsRequested(
      @NonNull GetWalletCardsRequest request, @NonNull GetWalletCardsCallback callback) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(
        () -> {
          List<PaymentCard> paymentCards = paymentCardManager.getCards();
          int maxCards = Math.min(paymentCards.size(), request.getMaxCards());
          List<WalletCard> walletCards = new ArrayList<>(maxCards);
          int selectedIndex = 0;
          int cardWidthPx = request.getCardWidthPx();
          int cardHeightPx = request.getCardHeightPx();
          for (int index = 0; index < maxCards; index++) {
            PaymentCard paymentCard = paymentCards.get(index);
            WalletCard walletCard =
                new WalletCard.Builder(
                        paymentCard.getCardId(),
                        paymentCard.getCardImage(cardWidthPx, cardHeightPx),
                        paymentCard.getContentDescription(),
                        paymentCard.getPendingIntent())
                    .build();
            walletCards.add(walletCard);
            if (paymentCard.isSelected()) {
              selectedIndex = index;
            }
          }
          GetWalletCardsResponse response =
              new GetWalletCardsResponse(walletCards, selectedIndex);
          callback.onSuccess(response);
        });
  }

  @Override
  public void onWalletCardSelected(@NonNull SelectWalletCardRequest request) {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(
        () -> paymentCardManager.selectCardById(request.getCardId()));
  }

  @Override
  public void onWalletDismissed() {
    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
      return;
    }
    executor.submit(() -> {
      paymentCardManager.removeCardOverrides();
    });
  }
}

Weitere Einzelheiten zu QuickAccessWalletService finden Sie in QuickAccessWalletService API-Referenz .

Berechtigungen

Der Manifesteintrag für QuickAccessWalletService muss die in Android 11 eingeführte Berechtigung android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE erfordern. Dies ist eine Berechtigung auf Signaturebene, die von der System-UI gehalten wird, was bedeutet, dass nur der System-UI-Prozess an Implementierungen von QuickAccessWalletService binden kann. Beachten Sie, dass seitlich geladene Apps diese Berechtigung beanspruchen können und vollen Zugriff auf QuickAccessWalletService -Daten auf Geräten mit Android 10 oder niedriger erhalten. Um dies zu verhindern, wird empfohlen, dass der Dienst die Build-Version in onCreate und den Dienst nur auf Geräten mit Android 11 und höher aktiviert. Es sind keine weiteren App-Berechtigungen erforderlich, außer denen, die für die Bereitstellung von Hostkartenemulations-Zahlungsdiensten erforderlich sind.

Wenn die standardmäßige NFC-Zahlungs-App QuickAccessWalletService nicht implementiert oder exportiert, wird die Quick Access Wallet-Benutzeroberfläche nicht angezeigt.

Einstellungen unter Android 12

Um das Schnellzugriffs-Wallet vom Sperrbildschirm aus zu aktivieren oder zu deaktivieren, können Benutzer den Umschalter Wallet anzeigen unter Einstellungen > Anzeige > Sperrbildschirm verwenden. Um die Brieftasche im Schatten zu deaktivieren, müssen Benutzer sie manuell im Schatten der Schnelleinstellungen bearbeiten.

Schalten Sie um, um die Brieftasche auf dem Sperrbildschirm zu aktivieren oder zu deaktivieren

Abbildung 5. Umschalter „Wallet anzeigen“ auf der Seite „Sperrbildschirm“ in den Einstellungen.

Einstellungen unter Android 11

Benutzer können die Quick Access Wallet-Funktion in der App „Einstellungen“ deaktivieren. Die Einstellungsseite befindet sich unter Einstellungen > System > Gesten > Karten & Pässe .

Einstellungsseite, um die Quick Access Wallet-Funktion zu aktivieren oder zu deaktivieren
Abbildung 6. Seite „Einstellungen“ zum Aktivieren oder Deaktivieren der Quick Access Wallet-Funktion.

Anpassung

Hinzufügen der Brieftaschenansicht für den Schnellzugriff an einer anderen Stelle in der System-Benutzeroberfläche

Die Schnellzugriffs- Wallet-Benutzeroberfläche ist als System-Plugin aufgebaut . Obwohl die AOSP-Implementierung davon in GlobalActionsDialog Gebrauch macht (angezeigt bei langem Drücken der Einschalttaste), können Sie die Funktion hinter eine andere Geste verschieben, solange Sie den von der Plugin-Schnittstelle festgelegten Vertrag beibehalten.

public interface GlobalActionsPanelPlugin extends Plugin {

  /** Invoked when the view is shown */
  PanelViewController onPanelShown(Callbacks callbacks, boolean deviceLocked);

  /** Callbacks for interacting with the view container */
  interface Callbacks {
    /** Dismisses the view */
    void dismissGlobalActionsMenu();

    /** Starts a PendingIntent, dismissing the keyguard if necessary. */
    void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent);
  }

  /** Provides the Quick Access Wallet view */
  interface PanelViewController {

    /** Returns the QuickAccessWallet view, which may take any size */
    View getPanelContent();

    /** Invoked when the view is dismissed */
    void onDismissed();

    /** Invoked when the device is either locked or unlocked. */
    void onDeviceLockStateChanged(boolean locked);
  }
}

Die Wallet-Benutzeroberfläche für den Schnellzugriff implementiert GlobalActionsPanelPlugin und PanelViewController . GlobalActionsDialog erhält eine Instanz des Wallet-Plugins mithilfe von com.android.systemui.Dependency :

GlobalActionsPanelPlugin mPanelPlugin =
    Dependency.get(ExtensionController.class)
        .newExtension(GlobalActionsPanelPlugin.class)
        .withPlugin(GlobalActionsPanelPlugin.class)
        .build()
        .get();

Nachdem überprüft wurde, dass das Plug-in nicht null ist und dass der von PanelViewController zurückgegebene onPanelShown nicht null ist, hängt der Dialog die von View bereitgestellte getPanelContent an seine eigene View an und stellt geeignete Rückrufe für Systemereignisse bereit.

// Construct a Wallet PanelViewController.
// `this` implements GlobalActionsPanelPlugin.Callbacks
GlobalActionsPanelPlugin.PanelViewController mPanelController =
    mPanelPlugin.onPanelShown(this, !mKeyguardStateController.isUnlocked());

// Attach the view
FrameLayout panelContainer = findViewById(R.id.my_panel_container);
FrameLayout.LayoutParams panelParams =
    new FrameLayout.LayoutParams(
        FrameLayout.LayoutParams.MATCH_PARENT,
        FrameLayout.LayoutParams.MATCH_PARENT);
panelContainer.addView(mPanelController.getPanelContent(), panelParams);

// Respond to unlock events (if the view can be accessed while the phone is locked)
keyguardStateController.addCallback(new KeyguardStateController.Callback() {
  @Override
  public void onUnlockedChanged() {
    boolean unlocked = keyguardStateController.isUnlocked()
        || keyguardStateController.canDismissLockScreen();
    mPanelController.onDeviceLockStateChanged(unlocked);
  }
});

// Implement GlobalActionsPanelPlugin.Callbacks
@Override
public void dismissGlobalActionsMenu() {
  dismissDialog();
}
@Override
public void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent) {
  mActivityStarter.startPendingIntentDismissingKeyguard(pendingIntent);
}

// Notify the wallet when the container view is dismissed
mPanelController.onDismissed();

Um das Quick Access Wallet aus dem Power-Menü zu entfernen, lassen Sie das QuickAccessWallet Ziel aus dem System-Build weg. Um das Schnellzugriffs-Wallet aus dem Power-Menü zu entfernen, aber zu einer anderen von der System-UI bereitgestellten Ansicht hinzuzufügen, schließen Sie das Erstellungsziel ein und entfernen Sie Verweise auf das GlobalActionsPanelPlugin aus GlobalActionsImpl .

Festlegen von Standardkonfigurationen

Android 12

In Android 12 oder höher ist das Quick Access Wallet immer im Schatten der Schnelleinstellungen sichtbar. Die Sichtbarkeit des Quick Access Wallet auf dem Sperrbildschirm wird durch die folgende sichere Einstellung eingeschränkt: LOCKSCREEN_SHOW_WALLET . Diese Einstellung steuert, ob das Quick Access Wallet-Symbol unten rechts auf dem Sperrbildschirm angezeigt wird. Diese Einstellung ist standardmäßig auf „ true “ gesetzt, kann aber vom Benutzer unter „ Einstellungen “ > „ Anzeige “ > „ Sperrbildschirm “ > „ Wallet anzeigen“ deaktiviert werden.

Android 11

In Android 11 wird die Sichtbarkeit des Quick Access Wallet durch zwei sichere Einstellungen begrenzt: GLOBAL_ACTIONS_PANEL_ENABLED und GLOBAL_ACTIONS_PANEL_AVAILABLE . Die Einstellung AVAILABLE steuert, ob die Funktion in den Einstellungen ein- und ausgeschaltet werden kann. Diese Einstellung wird von WalletPluginService auf true gesetzt. Wenn QuickAccessWallet nicht im Build enthalten ist, bleibt die Einstellung false . Die ENABLED Einstellung ist an derselben Stelle standardmäßig auf „ true “ gesetzt, kann aber vom Benutzer in den Einstellungen deaktiviert werden. Um das Standardverhalten zu ändern, ändern WalletPluginService#enableFeatureInSettings .

Validierung

Um Ihre Implementierung des Quick Access Wallet zu validieren, führen Sie CTS und manuelle Tests durch. Änderungen am Plugin sollten auch die enthaltenen Robolectric-Tests durchführen .

CTS-Tests

Führen Sie die CTS-Tests unter cts/tests/quickaccesswallet .

Manuelle Tests für Android 12

Das Testen der Kernfunktionen des Quick Access Wallet erfordert ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App, die QuickAccessWalletService (Wallet-App) implementiert. Zu den Kernfunktionen, die getestet werden müssen, gehören: Verfügbarkeit, Nullstatus, Kartenauswahl und Sperrbildschirmverhalten.

Verfügbarkeit

  • Wenn die standardmäßige NFC-Zahlungs-App die Funktion nicht unterstützt, ist das Quick Access Wallet weder in den Schnelleinstellungen noch auf dem Sperrbildschirm zugänglich.
  • Wenn die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist die Schnellzugriffs-Brieftasche im Schatten der Schnelleinstellungen zugänglich.
  • Wenn die standardmäßige NFC-Zahlungs-App die Funktion unterstützt und die Einstellung LOCKSCREEN_SHOW_WALLET auf true gesetzt ist, ist das Quick Access Wallet auf dem Sperrbildschirm zugänglich.
  • Wenn die standardmäßige NFC-Zahlungs-App die Funktion unterstützt und die Einstellung LOCKSCREEN_SHOW_WALLET auf false gesetzt ist, ist das Quick Access Wallet auf dem Sperrbildschirm nicht zugänglich.

Null Zustand

  • Wenn QuickAccessWalletService aktiviert und exportiert ist, aber keine Karten bereitstellt, wird die Kachel im Schatten wie im Beispiel in Abbildung 7 angezeigt. Durch Klicken auf die Kachel wird die standardmäßige NFC-Zahlungs-App geöffnet.

    Beispielkachel im Schatten, die die standardmäßige NFC-Zahlungs-App zeigt

    Abbildung 7. Beispielkachel im Schatten, die die standardmäßige NFC-Zahlungs-App zeigt.

  • Durch Klicken auf die leere Zustandsansicht, wie in Abbildung 8 gezeigt, wird die standardmäßige NFC-Zahlungs-App geöffnet. Diese leere Zustandsansicht wird nur angezeigt, wenn der Benutzer noch eine Karte in der Brieftasche hat, die Karte von der Kartendetailseite entfernt und dann zur Brieftaschenansicht zurückkehrt.

  • Auf dem Sperrbildschirm wird das Brieftaschensymbol angezeigt.

Leere Zustandsansicht im Quick Access Wallet

Abbildung 8. Leere Zustandsansicht in der Quick Access Wallet-Benutzeroberfläche.

Nicht-Null-Zustand

  • Wenn die Wallet-App eine oder mehrere Karten bereitstellt, erscheint die Kachel im Schatten wie in Abbildung 9 dargestellt.

    Beispielkachel im Schatten, wenn die Brieftaschen-App eine oder mehrere Karten hat

    Abbildung 9. Beispielkachel im Schatten, wenn die Brieftaschen-App eine oder mehrere Karten hat.

  • Ein Klick auf die Kachel zeigt ein Kartenkarussell.

  • Der Sperrbildschirm zeigt eine Schaltfläche, die das Quick Access Wallet öffnet.

    Quick Access Wallet UI mit einer angezeigten Karte

    Abbildung 10. Quick Access Wallet-Benutzeroberfläche mit angezeigter Karte.

  • Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, führt das Halten des Telefons an ein NFC-Zahlungsterminal dazu, dass diese Zahlungsmethode verwendet wird und die Brieftaschenansicht geschlossen wird.

  • Ein Klick auf eine angezeigte Karte öffnet die detaillierte Aktivität für diese Karte.

  • Wenn mehrere Karten von QuickAccessWalletService bereitgestellt werden, kann der Benutzer zwischen den Karten wechseln.

  • Das Überlaufmenü enthält einen Eintrag: Öffnen Sie die Sperrbildschirmeinstellungen, damit der Benutzer die Option Brieftasche anzeigen ändern kann.

Zustandstests sperren

  • Wenn das Telefon gesperrt ist, wird die Brieftasche im Schatten der Schnelleinstellungen angezeigt, mit einer Beschreibung von Karte hinzufügen, wenn keine Karte in der Standard-Zahlungs-App vorhanden ist, oder zur Verwendung entsperren, wenn Karten in der Standard-Zahlungs-App vorhanden sind.
  • Wenn das Telefon gesperrt ist, wird die Sichtbarkeit der Brieftasche auf dem Sperrbildschirm durch die Einstellung Secure.LOCKSCREEN_SHOW_WALLET gesteuert, die in den Einstellungen gesteuert wird.
  • Wenn das Telefon gesperrt ist, LOCKSCREEN_SHOW_WALLET false ist und keine Karte in der standardmäßigen NFC-Zahlungs-App vorhanden ist, wird die Brieftasche nicht auf dem Sperrbildschirm angezeigt.
  • Wenn das Telefon gesperrt ist, LOCKSCREEN_SHOW_WALLET true ist und keine Karte in der standardmäßigen NFC-Zahlungs-App vorhanden ist, wird die Brieftasche nicht auf dem Sperrbildschirm angezeigt.
  • Wenn das Telefon gesperrt ist, LOCKSCREEN_SHOW_WALLET true ist und Karten in der standardmäßigen NFC-Zahlungs-App vorhanden sind, wird die Brieftasche auf dem Sperrbildschirm angezeigt.
  • Das Entsperren des Telefons, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, führt dazu, dass die Karten erneut abgefragt werden, was zu einem anderen Karteninhalt führen kann.

Zugänglichkeitstests

  • Talkback-Benutzer können in der Brieftaschenansicht navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
  • Wenn Sie bei aktiviertem Talkback nach links und rechts wischen, wird nacheinander jede Karte ausgewählt. Talkback-Benutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und verwenden.

Manuelle Tests für Android 11

Das Testen der Kernfunktionen des Quick Access Wallet erfordert ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App, die QuickAccessWalletService (Wallet-App) implementiert. Zu den Kernfunktionen, die getestet werden müssen, gehören Verfügbarkeit, Nullstatus, Kartenauswahl und Sperrbildschirmverhalten.

Verfügbarkeit

  • Wenn die Einstellung GLOBAL_ACTIONS_PANEL_ENABLED true ist und die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist das Quick Access Wallet zugänglich.
  • Wenn die Einstellung GLOBAL_ACTIONS_PANEL_ENABLED false ist und die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist das Quick Access Wallet nicht zugänglich.
  • Wenn die Einstellung GLOBAL_ACTIONS_PANEL_ENABLED auf „ true “ gesetzt ist und die standardmäßige NFC-Zahlungs-App die Funktion nicht unterstützt, ist das Quick Access Wallet nicht zugänglich.
  • Wenn die Einstellung GLOBAL_ACTIONS_PANEL_ENABLED false ist und die standardmäßige NFC-Zahlungs-App die Funktion nicht unterstützt, ist die Quick Access Wallet nicht zugänglich.

Null Zustand

  • Wenn QuickAccessWalletService aktiviert und exportiert ist, aber keine Karten bereitstellt, zeigt die Schnellzugriffs-Wallet-Benutzeroberfläche die leere Zustandsansicht an.
  • Ein Klick auf die leere Zustandsansicht öffnet die Wallet-App.

    Leere Zustandsansicht in der Wallet-Benutzeroberfläche für den Schnellzugriff
    Abbildung 11. Leere Zustandsansicht in der Quick Access Wallet-Benutzeroberfläche.

Nicht-Null-Zustand

  • Wenn die Wallet-App eine oder mehrere Karten bereitstellt, werden die Karten in der Quick Access Wallet-Benutzeroberfläche angezeigt.

    Quick Access Wallet UI mit einer angezeigten Karte
    Abbildung 12. Wallet-Benutzeroberfläche für den Schnellzugriff mit einer angezeigten Karte.
  • Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, führt das Halten des Telefons an ein NFC-Zahlungsterminal dazu, dass diese Zahlungsmethode verwendet wird und die Brieftaschenansicht geschlossen wird.

  • Durch Klicken auf eine angezeigte Karte wird die Brieftaschenansicht geschlossen und die detaillierte Aktivität für diese Karte geöffnet.

  • Wenn mehrere Karten von QuickAccessWalletService bereitgestellt werden, kann der Benutzer zwischen den Karten wechseln.

  • Das Überlaufmenü enthält zwei Einträge: einen, der die Brieftaschen-App öffnet, und einen, der den Bildschirm Karten & Pässe anzeigen in den Einstellungen öffnet.

Zustandstests sperren

  • Wenn das Telefon gesperrt ist, wird die Sichtbarkeit der Brieftasche durch die Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT gesteuert, die in den Einstellungen gesteuert werden kann.
  • Wenn das Telefon gesperrt ist und POWER_MENU_LOCK_SHOW_CONTENT false ist, wird die Brieftasche nicht angezeigt.
  • Wenn das Telefon gesperrt ist und POWER_MENU_LOCK_SHOW_CONTENT true ist, wird die Brieftasche angezeigt.
  • Das Entsperren des Telefons, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, führt dazu, dass die Karten erneut abgefragt werden, was zu einem anderen Karteninhalt führen kann.

Zugänglichkeitstests

  • TalkBack-Benutzer können in der Brieftaschenansicht navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
  • Durch Wischen nach links und rechts bei aktiviertem TalkBack wird nacheinander jede Karte ausgewählt. TalkBack-Benutzer können eine NFC-Zahlungsmethode an einem NFC-Zahlungsterminal auswählen und verwenden.