Schnellzugriff-Geldbörse

Die ab Android 11 verfügbare Quick Access Wallet-Funktion ermöglicht es dem Benutzer, direkt aus dem Power-Menü auf Zahlungskarten und relevante Pässe zuzugreifen. 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. Schnellzugriff Wallet - Funktion (Gerät gesperrt).
Quick Access Wallet-Funktion im Schatten
Abbildung 2. Schnellzugriff 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. Schnellzugriff Wallet - Funktion in Kraft 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 des Standard - NFC - Zahlungs App, das bedeutet , dass das Gerät auch NFC unterstützen , muß Host-basierte Kartenemulation (HCE) .

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 ist , wird die Wallet - Benutzeroberfläche läuft im System UI und in sich frameworks/base/packages/SystemUI/src/com/android/systemui/wallet . In Android 11, der Wallet UI, die befindet sich in platform/packages/apps/QuickAccessWallet , muss installiert und die weiße Liste gesetzt werden.

Der Kartenanbieter Quick Access Wallet ist die Standard-NFC-Zahlungs-App. Benutzer können mehrere NFC - Zahlungs Anwendungen haben gleichzeitig installiert, aber nur die Standard - NFC - Zahlungs App - Karten auf dem Power - Menü anzeigen. Sie können die NFC - Zahlung angeben App als Standard festgelegt ist zunächst, aber die Benutzer können eine andere App in den Einstellungen auswählen. Wenn nur ein NFC - Zahlungs App installiert ist, wird es der Standard automatisch (siehe CardEmulationManager ).

Implementierung

Um eine Karte für den Schnellzugriff Wallet UI, Zahlung NFC - Anwendungen implementieren muss QuickAccessWalletService . Zahlungs-Apps müssen einen Manifest-Eintrag enthalten, der für den Dienst wirbt.

Um sicherzustellen , dass nur der System - UI binden QuickAccessWalletService muss der NFC - Zahlungs App , die erfordert android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE Erlaubnis. Erfordern diese Berechtigung stellt sicher , dass die System - UI nur binden , kann QuickAccessWalletService .

<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>

Zusätzliche 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 Zahlung App implementieren QuickAccessWalletService :

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 startet eine NFC - Transaktion und als Folge zu handhaben , beginnt eine Aktivität , den Fortschritt und die Ergebnisse der Zahlung angezeigt werden , sollte es auch versuchen , einen Verweis auf die Grenze zu bekommen QuickAccessWalletService und ruft QuickAccessWalletService#sendEvent mit einem Ereignistyp von TYPE_NFC_PAYMENT_STARTED . Dies führt dazu, dass die Benutzeroberfläche der Wallet-Schnellzugriffsleiste geschlossen wird, sodass der Benutzer einen ungehinderten Blick auf die Zahlungsaktivitäten hat.

Weitere Dokumentation über die Umsetzung QuickAccessWalletService findet QuickAccessWalletService und den TestQuickAccessWalletService CTS - Test.

Aktivieren der Wallet-Benutzeroberfläche für den Schnellzugriff in Android 11

Um den Schnellzugriff Wallet zu konfigurieren aus dem Power - Menü in Android 11, sind die zur Verfügung stehen QuickAccessWallet Ziel in den Build und das ermöglichen globalactions.wallet Plugin durch die fett gedruckte Zeile Zugabe in dem Codebeispiel unten an der 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 den Standard NFC - Zahlungs App in den Einstellungen Konfigurationsdatei mit def_nfc_payment_component .

Die Standard - NFC - Zahlungs App muss aussetzen QuickAccessWalletService Karten für den Schnellzugriff Wallet zur Verfügung zu stellen. Wenn die standardmäßige NFC-Zahlungs-App diesen Dienst nicht exportiert, wird die Wallet-Benutzeroberfläche ausgeblendet.

Details zur QuickAccessWalletService-Implementierung

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

Schnellzugriffs-Wallet-Sequenzdiagramm

Beispiel für eine Anrufsequenz beim Aufrufen der Quick Access Wallet
Abbildung 4. Beispiel Aufrufsequenz , wenn Quick Access Wallet betrachtet wird.

Nicht alle Blick auf die Quick Access Wallet werden von einem NFC - Zahlung, wobei jedoch 4 oben zeigt alle Funktionen von QuickAccessWalletService . In diesem Beispiel implementiert der Kartenanbieter für Quick Access Wallet die blau umrandeten Elemente. Es wird angenommen , dass Zahlungskarten auf dem Gerät in einer Datenbank gespeichert sind und über eine Schnittstelle mit dem Namen zugegriffen PaymentCardManager . Es wird ferner angenommen , dass eine Aktivität genannt PaymentActivity zeigt das Ergebnis einer NFC - Zahlung. Der Ablauf läuft wie folgt ab:

  1. Der Benutzer führt eine Geste aus, um die Quick Access Wallet aufzurufen.
  2. Die Quick Access Wallte UI (Teil des System UI) prüft der Paket - Manager zu sehen , ob der Standard - NFC - Zahlungs App exportiert QuickAccessWalletService .

    • Wenn der Dienst nicht exportiert wird, wird die Quick Access Wallet nicht angezeigt.
  3. Die Quick Access Wallet UI bindet an das QuickAccessWalletService und Anrufe onWalletCardsRequested . Diese Methode nimmt ein Anfrageobjekt, das Daten über die Anzahl und Größe der Karten, die bereitgestellt werden können, und einen Rückruf enthält. Der Callback kann aus einem Hintergrundthread aufgerufen werden.

  4. QuickAccessWalletService berechnet die Karten , die er zeigen will, dann ruft die onSuccess Methode auf dem mitgelieferten Rückruf. Es wird empfohlen, dass der Dienst diese Aktionen in einem Hintergrundthread ausführt.

  5. Sobald die Karten angezeigt werden, benachrichtigt das System UI QuickAccessWalletService , dass die erste Karte wird durch den Aufruf ausgewählt onWalletCardSelected .

    • onWalletCardSelected wird jedes Mal, wenn die Benutzer eine neue Karte auswählt.
    • onWalletCardSelected könnte , auch wenn die aktuell ausgewählte Karte nicht geändert aufgerufen werden.
  6. Wenn der Benutzer entlässt den Schnellzugriff - Mappe, die benachrichtigt System - UI QuickAccessWalletService durch den Aufruf onWalletDismissed .

Im obigen Beispiel bringt der Benutzer das Telefon in die Reichweite eines NFC-Zahlungsterminals, während das Wallet angezeigt wird. Eine Schlüsselkomponente der NFC Zahlungsabwicklung ist HostApduService , der Prozess APDUs vom NFC - Lesern vorgesehen umgesetzt werden muß (für weitere Informationen siehe Host-basierte Emulation Karte ). 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 Wallet-Benutzeroberfläche für den Schnellzugriff wird jedoch oben im App-Fenster angezeigt, was bedeutet, dass die Zahlungsaktivität durch die Wallet-Benutzeroberfläche für den Schnellzugriff verdeckt wird. Um dies zu beheben, muss die App die System-Benutzeroberfläche benachrichtigen, dass die Schnellzugriffs-Wallet-Benutzeroberfläche geschlossen werden soll. Er kann dies tun , indem Sie einen Verweis auf die gebundenen immer QuickAccessWalletService und rief 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();
    });
  }
}

Für weitere Details über QuickAccessWalletService finden QuickAccessWalletService API - Referenz .

Berechtigungen

Der Eintrag für manifest QuickAccessWalletService müssen die erfordern android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE Erlaubnis in Android 11. Diese eingeführt ist eine Signatur-Ebene die Erlaubnis durch das UI - System gehalten wird , was bedeutet , dass das System nur UI Prozess Implementierungen binden kann QuickAccessWalletService . Beachten Sie, dass Seitenbelastetes Anwendungen diese Berechtigung behaupten können und uneingeschränkten Zugriff erhalten QuickAccessWalletService Daten auf Geräten mit Android 10 oder senken. Um dies zu verhindern, wird empfohlen , dass der Dienst die Build - Version nicht in Anspruch onCreate und den Dienst aktivieren nur auf Geräte mit Android 11 und höher. Es sind keine anderen App-Berechtigungen erforderlich als die, die für die Bereitstellung von Zahlungsdiensten für die Hostkartenemulation erforderlich sind.

Wenn die Standard - App NFC Zahlung nicht implementiert oder Export QuickAccessWalletService wird die Quick Access Wallet UI nicht angezeigt.

Einstellungen in Android 12

So aktivieren oder die Schnellstart -Wallet aus dem Sperrbildschirm zu deaktivieren, können Benutzer die Karte wallet Toggle in Einstellungen> Display> Bildschirm sperren. Um das Wallet im Schatten zu deaktivieren, müssen Benutzer es manuell im Schatten der Schnelleinstellungen bearbeiten.

Umschalten, um Wallet vom Sperrbildschirm aus zu aktivieren oder zu deaktivieren

Abbildung 5. anzeigen wallte Toggle in der Lock - Bildschirmseite in den Einstellungen.

Einstellungen in Android 11

Benutzer können die Wallet-Funktion für den Schnellzugriff in der App "Einstellungen" deaktivieren. Die Einstellungsseite wird in Einstellungen> System> Gestures> Karten & Pässe gefunden.

Einstellungsseite zum Aktivieren oder Deaktivieren der Schnellzugriffs-Wallet-Funktion
Abbildung 6. Seite Einstellungen aktivieren oder die Schnellstart -Wallet - Funktion zu deaktivieren.

Anpassung

Hinzufügen der Schnellzugriffs-Wallet-Ansicht zu einem anderen Ort in der Systembenutzeroberfläche

Die Quick Access Wallet UI als eingebaute System - Plugin . Obwohl die AOSP Implementierung macht in der es verwendet GlobalActionsDialog (auf langer Strom Presse gezeigt), können Sie die Funktion hinter einer anderen Geste so lange bewegen , wie Sie den Vertrag durch die Plugin - Schnittstelle angegeben halten.

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 Quick Access Wallet UI implementiert GlobalActionsPanelPlugin und PanelViewController . GlobalActionsDialog bekommt eine Instanz der Brieftasche Plugin unter Verwendung com.android.systemui.Dependency :

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

Nach der Überprüfung , dass das Plugin nicht-null ist und dass die PanelViewController von zurück onPanelShown nicht leer ist , legt der Dialog die View , bereitgestellt durch getPanelContent seine eigene View und stellt entsprechende Rückrufe für Systemereignisse.

// 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 den Schnellzugriff Wallte von dem Strom Menü zu entfernen, lassen Sie das QuickAccessWallet Ziel aus dem System zu bauen. Um den Schnellzugriff Walle von dem Strom Menü zu entfernen , sondern sie zu einem anderen System UI hinzufügen Ansicht zur Verfügung gestellt, sind das Build - Ziel und entfernen Sie Verweise auf die GlobalActionsPanelPlugin von GlobalActionsImpl .

Festlegen von Standardkonfigurationen

Android 12

In Android 12 oder höher ist die Quick Access Wallet immer im Schatten der Schnelleinstellungen sichtbar. Sichtbarkeit des Schnellzugriffs - Wallet in dem Sperrbildschirm wird durch die folgende sichere Einstellung gated: LOCKSCREEN_SHOW_WALLET . Diese Einstellung steuert, ob das Quick Access Wallet-Symbol unten rechts auf dem Sperrbildschirm angezeigt wird. Diese Einstellung wird auf true standardmäßig, aber kann durch den Benutzer in den Einstellungen> Display> Bildschirm sperren> Show Portemonnaie ausgeschaltet.

Android 11

In Android 11 wird Quick Access Wallet Sichtbarkeit durch zwei sichere Einstellungen gated: GLOBAL_ACTIONS_PANEL_ENABLED und GLOBAL_ACTIONS_PANEL_AVAILABLE . Die AVAILABLE Einstellung steuert , ob die Funktion kann ein- und ausgeschaltet Einstellungen gedreht werden. Diese Einstellung wird auf true von WalletPluginService . Wenn QuickAccessWallet nicht im Build enthalten, dann bleibt die Einstellung false . Die ENABLED - Einstellung eingestellt ist true standardmäßig in der gleichen Stelle, sondern kann durch den Benutzer in den Einstellungen abgeschaltet werden. Um das Standardverhalten zu ändern, modifizieren WalletPluginService#enableFeatureInSettings .

Validierung

Führen Sie CTS und manuelle Tests durch, um Ihre Implementierung der Quick Access Wallet zu validieren. Änderungen an der Plugin sollte auch die enthaltenen ausüben robolectric Tests .

CTS-Tests

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

Manuelle Tests für Android 12

Testen der Kernfunktionen des Quick Access Wallet erfordert einen NFC - Zahlungsterminal (echt oder gefälscht) und eine NFC - Zahlung App , dass Geräte QuickAccessWalletService (Wallet - App). 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 die Quick Access Wallet weder in den Schnelleinstellungen noch im Sperrbildschirm zugänglich.
  • Wenn die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist die Quick Access Wallet im Schatten der Schnelleinstellungen zugänglich.
  • Wenn die Standard - NFC - Zahlungs App unterstützt die Funktion und wenn die LOCKSCREEN_SHOW_WALLET Einstellung ist true , ist der Schnellzugriff Wallet auf dem Sperrbildschirm zugänglich.
  • Wenn der Standard - NFC - Zahlungs App unterstützt die Funktion und wenn die LOCKSCREEN_SHOW_WALLET Einstellung ist false , ist der Schnellzugriff - Wallet auf dem Sperrbildschirm nicht zugänglich.

Null-Zustand

  • Wenn QuickAccessWalletService aktiviert ist und exportiert , aber stellt keine Karten, wie die Fliesen in den Schatten erscheint im Beispiel in Abbildung 7. Durch Klicken auf die Kachel gezeigt öffnet die Standard NFC - Zahlungs App.

    Beispielkachel im Schatten mit der standardmäßigen NFC-Zahlungs-App

    Abbildung 7. Beispiel Fliese im Schatten zeigt Standard - NFC - Zahlungs App.

  • Ein Klick auf die leere Statusansicht, wie in Abbildung 8 gezeigt, öffnet die Standard-NFC-Zahlungs-App. Diese leere Statusansicht 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.

  • Der Sperrbildschirm zeigt das Wallet-Symbol.

Leere Statusansicht in der Quick Access Wallet

Abbildung 8. Leere Statusansicht in den Schnellzugriff Wallet UI.

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 Wallet-App eine oder mehrere Karten hat

    Abbildung 9. Beispiel Fliesen im Schatten , wenn Wallet App hat eine oder mehrere Karten.

  • Ein Klick auf die Kachel zeigt ein Kartenkarussell.

  • Auf dem Sperrbildschirm wird eine Schaltfläche angezeigt, die das Quick Access Wallet öffnet.

    Schnellzugriffs-Wallet-Benutzeroberfläche mit angezeigter Karte

    Abbildung 10. Schnellzugriff Wallet UI mit einer Karte angezeigt.

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

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

  • Wenn mehrere Karten durch vorgesehen sind QuickAccessWalletService ist der Benutzer zwischen den Karten streichen kann.

  • Das Überlauf - Menü enthält einen Eintrag: die Sperre Bildschirm - Einstellungen öffnen , so dass der Benutzer die Karte wallte Option ändern kann.

Sperrzustandstests

  • Wenn das Telefon gesperrt ist, ist die Brieftasche sichtbar auf den Schnelleinstellungen Schatten, mit einer Beschreibung eine Karte hinzufügen , wenn keine Karte in der App Standardzahlungsart vorhanden ist , oder entsperren zu verwenden , wenn Karten in der Standardzahlungs App existieren.
  • Wenn das Telefon gesperrt ist, Mappe Sichtbarkeit auf dem Sperrbildschirm wird durch kontrollierte Secure.LOCKSCREEN_SHOW_WALLET Einstellung, die in den Einstellungen gesteuert wird.
  • Wenn das Telefon gesperrt ist, LOCKSCREEN_SHOW_WALLET ist false , und keine Karte existiert in dem Standard - NFC - Zahlungs App wird die Brieftasche nicht auf dem Sperrbildschirm angezeigt.
  • Wenn das Telefon gesperrt ist, LOCKSCREEN_SHOW_WALLET ist true , und keine Karte existiert in dem Standard - NFC - Zahlungs App wird die Brieftasche nicht auf dem Sperrbildschirm angezeigt.
  • Wenn das Telefon gesperrt ist, LOCKSCREEN_SHOW_WALLET ist true , und Karten gibt es in dem Standard NFC - Zahlungs App wird die Brieftasche auf dem Sperrbildschirm angezeigt.
  • Wenn Sie das Telefon entsperren, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, werden die Karten erneut abgefragt, was zu unterschiedlichen Karteninhalten führen kann.

Barrierefreiheitstests

  • Talkback-Benutzer können in der Wallet-Ansicht 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 jede Karte der Reihe nach ausgewählt. Talkback-Benutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und verwenden.

Manuelle Tests für Android 11

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

Verfügbarkeit

  • Wenn die GLOBAL_ACTIONS_PANEL_ENABLED Einstellung ist true und die Standard - NFC - Zahlungs App unterstützt die Funktion, ist die Quick Access Wallet zugänglich.
  • Wenn die GLOBAL_ACTIONS_PANEL_ENABLED Einstellung ist false und die Standard - NFC - Zahlungs App unterstützt die Funktion, ist die Quick Access Wallet nicht zugänglich.
  • Wenn die GLOBAL_ACTIONS_PANEL_ENABLED Einstellung ist true und die Standard - NFC - Zahlungs App nicht die Funktion nicht unterstützt, ist der Schnellzugriff - Wallet nicht zugänglich.
  • Wenn die GLOBAL_ACTIONS_PANEL_ENABLED Einstellung ist false und die Standard - NFC - Zahlungs App nicht die Funktion nicht unterstützt, ist der Schnellzugriff - Wallet nicht zugänglich.

Null-Zustand

  • Wenn QuickAccessWalletService aktiviert ist und exportiert , aber stellt keine Karten, zeigt die Quick Access Wallet UI die leere Statusansicht.
  • Ein Klick auf die leere Statusansicht öffnet die Wallet-App.

    Leere Statusansicht in der Wallet-Benutzeroberfläche für den Schnellzugriff
    Abbildung 11. Leere Statusansicht in den Schnellzugriff Wallet UI.

Nicht-Null-Zustand

  • Wenn die Wallet-App eine oder mehrere Karten bereitstellt, werden die Karten in der Wallet-Benutzeroberfläche für den Schnellzugriff angezeigt.

    Schnellzugriffs-Wallet-Benutzeroberfläche mit angezeigter Karte
    Abbildung 12. Schnellzugriff Wallet UI mit einer Karte angezeigt.
  • Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, führt das Halten des Telefons an ein NFC-Zahlungsterminal dazu, dass diese Zahlungsmethode verwendet und die Wallet-Ansicht geschlossen wird.

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

  • Wenn mehrere Karten durch vorgesehen sind QuickAccessWalletService ist der Benutzer zwischen den Karten streichen kann.

  • Der Überlauf - Menü enthält zwei Einträge: eine , die die Brieftasche App und öffnet man, dass die Show Karten öffnet und übergibt Bildschirm in den Einstellungen.

Sperrzustandstests

  • Wenn das Telefon gesperrt ist, Geldbörse Sichtbarkeit wird durch die kontrollierte Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT Einstellung, die in den Einstellungen gesteuert werden kann.
  • Wenn das Telefon gesperrt ist und POWER_MENU_LOCK_SHOW_CONTENT ist false , wird die Brieftasche nicht angezeigt.
  • Wenn das Telefon gesperrt ist und POWER_MENU_LOCK_SHOW_CONTENT ist true , wird die Brieftasche angezeigt.
  • Wenn Sie das Telefon entsperren, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, werden die Karten erneut abgefragt, was zu einem anderen Karteninhalt führen kann.

Barrierefreiheitstests

  • TalkBack-Benutzer können in der Wallet-Ansicht 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 jede Karte der Reihe nach ausgewählt. TalkBack-Benutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und verwenden.