Mit der Funktion „Schnellzugriff auf Wallet“, die ab Android 11 verfügbar ist, können Nutzer direkt über das Ein/Aus-Menü auf Zahlungskarten und relevante Karten/Tickets zugreifen. Zu den wichtigsten Anwendungsfällen gehören die Auswahl der geeigneten Zahlungsmethode vor einer Transaktion an einem NFC-Terminal und der schnelle Zugriff auf Flüge und andere Karten für anstehende Veranstaltungen.
Unter Android 12 oder höher ist die Funktion „Schnellzugriff auf Wallet“ über den Benachrichtigungsbereich verfügbar, wie in Abbildung 1 und Abbildung 2 dargestellt.
|
![]() |
Unter Android 11 ist die Funktion über das Ein/Aus-Menü verfügbar (siehe Abbildung 3).
Voraussetzungen
Ihr Gerät muss NFC unterstützen, damit Sie die Funktion „Schnellzugriff auf Wallet“ verwenden können. Die Funktion wird an QuickAccessWalletService der standardmäßigen NFC-Zahlungs-App gebunden. Das bedeutet, dass das Gerät auch NFC-hostbasierte Kartenemulation (HCE) unterstützen muss.
Funktionsübersicht
Der Schnellzugriff auf Wallet besteht aus zwei Teilen: der Benutzeroberfläche für den Schnellzugriff auf Wallet und dem Kartenaussteller für den Schnellzugriff auf Wallet.
In Android 12 oder höher wird die Wallet-Benutzeroberfläche in der System-UI ausgeführt und befindet sich unter frameworks/base/packages/SystemUI/src/com/android/systemui/wallet. Unter Android 11 muss die Wallet-Benutzeroberfläche, die sich in platform/packages/apps/QuickAccessWallet befindet, installiert und auf der Zulassungsliste stehen.
Der Kartenaussteller der Wallet-Karte für den Schnellzugriff ist die standardmäßige NFC-Zahlungs-App. Nutzer können mehrere NFC-Zahlungs-Apps gleichzeitig installiert haben, aber nur die standardmäßige NFC-Zahlungs-App kann Karten im Ein/Aus-Menü anzeigen. Sie können festlegen, welche NFC-Zahlungs-App anfangs als Standard festgelegt wird. Nutzer können jedoch in den Einstellungen eine andere App auswählen. Wenn nur eine NFC-Zahlungs-App installiert ist, wird sie automatisch zur Standard-App (siehe CardEmulationManager).
Implementierung
Wenn Sie Karten für die Benutzeroberfläche für den Schnellzugriff auf Wallet bereitstellen möchten, müssen NFC-Zahlungs-Apps QuickAccessWalletService implementieren.
Zahlungs-Apps müssen einen Manifesteintrag enthalten, in dem der Dienst beworben wird.
Damit nur die System-UI eine Bindung an QuickAccessWalletService vornehmen kann, muss für die NFC-Zahlungs-App die Berechtigung android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE erforderlich sein. Durch diese Berechtigung wird sichergestellt, dass nur die System-UI an QuickAccessWalletService gebunden werden 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>
Die verknüpfte XML-Datei enthält zusätzliche Informationen zur Wallet:
<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 Verarbeitung einer NFC-Transaktion beginnt und infolgedessen eine Aktivität startet, um den Fortschritt und das Ergebnis der Zahlung anzuzeigen, sollte auch versucht werden, eine Referenz zum gebundenen QuickAccessWalletService abzurufen und QuickAccessWalletService#sendEvent mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED aufzurufen. Dadurch wird die Benutzeroberfläche für den Schnellzugriff auf Wallet geschlossen und der Nutzer kann die Zahlungsaktivität ungehindert sehen.
Weitere Informationen zur Implementierung von QuickAccessWalletService finden Sie unter QuickAccessWalletService und im TestQuickAccessWalletService-CTS-Test.
Schnellzugriff auf die Wallet-Benutzeroberfläche in Android 11 aktivieren
Wenn Sie konfigurieren möchten, dass die Wallet für den Schnellzugriff in Android 11 über das Ein/Aus-Menü verfügbar ist, fügen Sie das Ziel QuickAccessWallet in den Build ein und aktivieren Sie das globalactions.wallet-Plug-in, indem Sie die fett formatierte Zeile im folgenden Codebeispiel in die Datei overlay/frameworks/base/packages/SystemUI/res/values/config.xml einfügen.
<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 Konfigurationsdatei für die Einstellungen mit def_nfc_payment_component an.
Die standardmäßige NFC-Zahlungs-App muss QuickAccessWalletService zur Verfügung stellen, um Karten für den Schnellzugriff auf Google Wallet bereitzustellen. Wenn die Standard-App für NFC-Zahlungen diesen Dienst nicht exportiert, wird die Wallet-Benutzeroberfläche ausgeblendet.
Implementierungsdetails für QuickAccessWalletService
QuickAccessWalletService hat drei abstrakte Methoden, die implementiert werden müssen: onWalletCardsRequested, onWalletCardSelected und onWalletDismissed. Das folgende Sequenzdiagramm veranschaulicht eine Anrufsequenz, wenn die Wallet für den Schnellzugriff unmittelbar vor einer NFC-Zahlung aufgerufen wird.
Nicht auf alle Aufrufe des Schnellzugriffs auf die Wallet folgt eine NFC-Zahlung. Abbildung 4 oben veranschaulicht jedoch alle Funktionen von QuickAccessWalletService. In diesem Beispiel implementiert der Anbieter der Google Wallet-Karte für den Schnellzugriff die blau umrandeten Elemente. Es wird davon ausgegangen, dass Zahlungskarten auf dem Gerät in einer Datenbank gespeichert sind und über eine Schnittstelle namens PaymentCardManager auf sie zugegriffen wird. Außerdem wird davon ausgegangen, dass in einer Aktivität namens PaymentActivity das Ergebnis einer NFC-Zahlung angezeigt wird. Der Ablauf ist wie folgt:
- Der Nutzer führt eine Geste aus, um den Wallet-Schnellzugriff aufzurufen.
Die Benutzeroberfläche für die Geldbörse im Schnellzugriff (Teil der System-UI) prüft im Paketmanager, ob die Standard-App für NFC-Zahlungen
QuickAccessWalletServiceexportiert.- Wenn der Dienst nicht exportiert wird, wird das Wallet für den Schnellzugriff nicht angezeigt.
Die Benutzeroberfläche für den Schnellzugriff auf Wallet wird an
QuickAccessWalletServicegebunden und ruftonWalletCardsRequestedauf. Diese Methode verwendet ein Anfrageobjekt mit Daten zur Anzahl und Größe der Karten, die bereitgestellt werden können, sowie einen Callback. Der Callback kann über einen Hintergrundthread aufgerufen werden.QuickAccessWalletServiceberechnet die Karten, die angezeigt werden sollen, und ruft dann die MethodeonSuccessfür den bereitgestellten Callback auf. Es wird empfohlen, dass der Dienst diese Aktionen in einem Hintergrundthread ausführt.Sobald die Karten angezeigt werden, benachrichtigt die System-UI
QuickAccessWalletService, dass die erste Karte ausgewählt wurde, indemonWalletCardSelectedaufgerufen wird.onWalletCardSelectedwird jedes Mal aufgerufen, wenn der Nutzer eine neue Karte auswählt.onWalletCardSelectedwird möglicherweise aufgerufen, auch wenn sich die aktuell ausgewählte Karte nicht geändert hat.
Wenn der Nutzer die Wallet-Schnellzugriffsfunktion schließt, benachrichtigt die System-UI
QuickAccessWalletServicedurch Aufrufen vononWalletDismissed.
Im obigen Beispiel hält der Nutzer das Smartphone in die Nähe eines NFC-Zahlungsterminals, während die Wallet angezeigt wird. Eine wichtige Komponente für die Verarbeitung von NFC-Zahlungen ist HostApduService. Sie muss implementiert werden, um APDUs zu verarbeiten, die vom NFC-Lesegerät bereitgestellt werden. Weitere Informationen finden Sie unter Host-based card emulation.
Es wird davon ausgegangen, dass die Zahlungs-App eine Aktivität startet, um den Fortschritt und das Ergebnis der Interaktion mit dem NFC-Terminal anzuzeigen. Die Benutzeroberfläche für den Schnellzugriff auf Google Wallet wird jedoch über dem App-Fenster angezeigt, sodass die Zahlungsaktivität durch die Benutzeroberfläche für den Schnellzugriff auf Google Wallet verdeckt wird. Dazu muss die App die System-UI benachrichtigen, dass die Wallet-UI für den Schnellzugriff geschlossen werden soll. Dazu muss eine Referenz auf die gebundene QuickAccessWalletService abgerufen und sendWalletServiceEvent mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED aufgerufen werden.
Beispielimplementierung von QuickAccessWalletService
/** 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 Informationen zu QuickAccessWalletService finden Sie in der QuickAccessWalletService-API-Referenz.
Berechtigungen
Für den Manifesteintrag für QuickAccessWalletService muss die in Android 11 eingeführte Berechtigung android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE erforderlich sein. Dies ist eine Berechtigung auf Signaturlaufwerksebene, die von der System-UI gehalten wird. Das bedeutet, dass nur der System-UI-Prozess an Implementierungen von QuickAccessWalletService gebunden werden kann. Beachten Sie, dass per Sideloading installierte Apps diese Berechtigung anfordern und vollen Zugriff auf QuickAccessWalletService-Daten auf Geräten mit Android 10 oder niedriger erhalten können. Um dies zu verhindern, wird empfohlen, dass der Dienst die Build-Version in onCreate prüft und den Dienst nur auf Geräten mit Android 11 und höher aktiviert. Es sind keine weiteren App-Berechtigungen erforderlich, die über die Berechtigungen hinausgehen, die für die Bereitstellung von Zahlungsdiensten für die Host Card Emulation erforderlich sind.
Wenn die standardmäßige NFC-Zahlungs-App QuickAccessWalletService nicht implementiert oder exportiert, wird die Benutzeroberfläche für den Schnellzugriff auf Google Wallet nicht angezeigt.
Einstellungen in Android 12
Wenn Nutzer den Schnellzugriff auf die Wallet über den Sperrbildschirm aktivieren oder deaktivieren möchten, können sie in den Einstellungen > Display > Sperrbildschirm den Ein/Aus-Schalter Wallet anzeigen verwenden. Wenn Nutzer die Wallet im Benachrichtigungsfeld deaktivieren möchten, müssen sie sie manuell im Benachrichtigungsfeld bearbeiten.
Abbildung 5: Schaltfläche für die Wallet App auf der Seite „Sperrbildschirm“ in den Einstellungen anzeigen
Einstellungen in Android 11
Nutzer können die Funktion „Schnellzugriff auf Wallet“ in den Einstellungen deaktivieren. Die Einstellungsseite finden Sie unter Einstellungen > System > Gesten > Karten und Tickets.
Anpassung
Schnellzugriff auf Wallet an einem anderen Ort in der System-UI hinzufügen
Die Wallet-Benutzeroberfläche für den Schnellzugriff ist als System-Plug-in konzipiert.
Obwohl in der AOSP-Implementierung GlobalActionsDialog (wird bei langem Drücken des Ein/Aus-Schalters angezeigt) verwendet wird, können Sie die Funktion hinter einer anderen Geste platzieren, solange Sie den im Plug-in-Interface angegebenen Vertrag einhalten.
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 Benutzeroberfläche für den Schnellzugriff auf Wallet implementiert GlobalActionsPanelPlugin und PanelViewController.
Mit GlobalActionsDialog wird eine Instanz des Wallet-Plug-ins mit com.android.systemui.Dependency abgerufen:
GlobalActionsPanelPlugin mPanelPlugin =
Dependency.get(ExtensionController.class)
.newExtension(GlobalActionsPanelPlugin.class)
.withPlugin(GlobalActionsPanelPlugin.class)
.build()
.get();
Nachdem geprüft wurde, ob das Plug-in nicht null ist und ob die von onPanelShown zurückgegebene PanelViewController nicht null ist, hängt der Dialog die von getPanelContent bereitgestellte View an seine eigene View an und stellt entsprechende Callbacks 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();
Wenn Sie die Wallet-Schnellzugriffsfunktion aus dem Ein/Aus-Menü entfernen möchten, lassen Sie das Ziel QuickAccessWallet im System-Build weg. Wenn Sie die Wallet-Schnellzugriffsfunktion aus dem Ein/Aus-Menü entfernen, sie aber einer anderen Ansicht hinzufügen möchten, die von der System-UI bereitgestellt wird, fügen Sie das Build-Ziel ein und entfernen Sie Verweise auf GlobalActionsPanelPlugin aus GlobalActionsImpl.
Standardkonfigurationen festlegen
Android 12
In Android 12 oder höher ist der Schnellzugriff auf Wallet immer in den Schnelleinstellungen sichtbar. Die Sichtbarkeit des Schnellzugriffs auf Google Wallet auf dem Sperrbildschirm wird durch die folgende Sicherheitseinstellung gesteuert:
LOCKSCREEN_SHOW_WALLET. Mit dieser Einstellung wird festgelegt, ob das Symbol für den Schnellzugriff auf Google Wallet unten rechts auf dem Sperrbildschirm angezeigt wird. Diese Einstellung ist standardmäßig auf true festgelegt, kann aber vom Nutzer unter Einstellungen > Display > Sperrbildschirm > Wallet anzeigen deaktiviert werden.
Android 11
In Android 11 wird die Sichtbarkeit von „Schnellzugriff auf Wallet“ durch zwei Sicherheitseinstellungen gesteuert: GLOBAL_ACTIONS_PANEL_ENABLED und GLOBAL_ACTIONS_PANEL_AVAILABLE. Mit der Einstellung AVAILABLE wird gesteuert, ob die Funktion in den Einstellungen aktiviert und deaktiviert werden kann. Diese Einstellung ist von WalletPluginService auf true festgelegt.
Wenn QuickAccessWallet nicht im Build enthalten ist, bleibt die Einstellung false. Die Einstellung ENABLED ist standardmäßig an derselben Stelle auf true festgelegt, kann aber vom Nutzer in den Einstellungen deaktiviert werden. Wenn Sie das Standardverhalten ändern möchten, bearbeiten Sie WalletPluginService#enableFeatureInSettings.
Validierung
Führen Sie CTS- und manuelle Tests aus, um Ihre Implementierung der Funktion „Schnellzugriff auf die digitale Geldbörse“ zu validieren. Bei Änderungen am Plug-in sollten auch die enthaltenen Robolectric-Tests ausgeführt werden.
CTS-Tests
Führen Sie die CTS-Tests unter cts/tests/quickaccesswallet aus.
Manuelle Tests für Android 12
Für das Testen der Kernfunktionen des Schnellzugriffs auf Google Wallet ist ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App erforderlich, in der QuickAccessWalletService (Wallet-App) implementiert ist. Zu den Kernfunktionen, die getestet werden müssen, gehören Verfügbarkeit, Nullstatus, Kartenauswahl und Verhalten auf dem Sperrbildschirm.
Verfügbarkeit
- Wenn die Standard-App für NFC-Zahlungen die Funktion nicht unterstützt, ist die Wallet für den Schnellzugriff weder in den Schnelleinstellungen noch auf dem Sperrbildschirm verfügbar.
- Wenn die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist die Wallet-Schnellzugriffsfunktion in den Schnelleinstellungen verfügbar.
- Wenn die Standard-App für NFC-Zahlungen die Funktion unterstützt und die Einstellung
LOCKSCREEN_SHOW_WALLETauftruegesetzt ist, kann über den Sperrbildschirm auf die Funktion „Schnellzugriff auf Wallet“ zugegriffen werden. - Wenn die Standard-App für NFC-Zahlungen die Funktion unterstützt und die Einstellung
LOCKSCREEN_SHOW_WALLETauffalsegesetzt ist, kann auf dem Sperrbildschirm nicht auf die Wallet im Schnellzugriff zugegriffen werden.
Zero State
Wenn
QuickAccessWalletServiceaktiviert und exportiert wird, aber keine Karten bereitstellt, wird die Kachel im Shade wie im Beispiel in Abbildung 7 angezeigt. Wenn Sie auf die Kachel klicken, wird die Standard-App für NFC-Zahlungen geöffnet.
Abbildung 7. Beispielkachel im Infobereich mit der Standard-App für NFC-Zahlungen
Wenn Sie auf die Ansicht mit dem leeren Status klicken (siehe Abbildung 8), wird die Standard-App für NFC-Zahlungen geöffnet. Diese Ansicht mit dem leeren Status wird nur angezeigt, wenn der Nutzer nur noch eine Karte in der Wallet hat, die Karte auf der Seite mit den Kartendetails entfernt und dann zur Wallet-Ansicht zurückkehrt.
Auf dem Sperrbildschirm wird das Wallet-Symbol angezeigt.
Abbildung 8. Ansicht des leeren Status in der Benutzeroberfläche für den Schnellzugriff auf Wallet
Status ungleich null
Wenn die Wallet App eine oder mehrere Karten bereitstellt, wird die Kachel im Shade wie in Abbildung 9 dargestellt angezeigt.
Abbildung 9. Beispielkachel im Schatten, wenn die Wallet App eine oder mehrere Karten enthält.
Wenn Sie auf die Kachel klicken, wird ein Kartenkarussell angezeigt.
Auf dem Sperrbildschirm wird eine Schaltfläche angezeigt, über die der Wallet-Schnellzugriff geöffnet werden kann.
Abbildung 10. Benutzeroberfläche für den Schnellzugriff auf Wallet mit einer angezeigten Karte.
Wenn die angezeigte Karte eine NFC-Zahlungsmethode ist, wird diese Zahlungsmethode verwendet, wenn das Smartphone an ein NFC-Zahlungsterminal gehalten wird, und die Wallet-Ansicht wird geschlossen.
Wenn Sie auf eine angezeigte Karte klicken, werden die detaillierten Aktivitäten für diese Karte geöffnet.
Wenn
QuickAccessWalletServicemehrere Karten bereitstellt, kann der Nutzer zwischen den Karten wischen.Das Dreipunkt-Menü enthält einen Eintrag: Öffnen Sie die Einstellungen für den Sperrbildschirm, damit der Nutzer die Option Wallet anzeigen ändern kann.
Tests des Sperrzustands
- Wenn das Smartphone gesperrt ist, wird die Wallet in den Schnelleinstellungen mit der Beschreibung Karte hinzufügen angezeigt, falls in der Standardzahlungs-App keine Karte vorhanden ist, oder mit der Beschreibung Zum Verwenden entsperren, falls in der Standardzahlungs-App Karten vorhanden sind.
- Wenn das Smartphone gesperrt ist, wird die Sichtbarkeit der Wallet auf dem Sperrbildschirm durch die Einstellung
Secure.LOCKSCREEN_SHOW_WALLETgesteuert, die in den Einstellungen festgelegt wird. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLET=falseund in der Standard-App für NFC-Zahlungen keine Karte vorhanden ist, wird die Wallet nicht auf dem Sperrbildschirm angezeigt. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLET=trueund in der Standard-App für NFC-Zahlungen keine Karte vorhanden ist, wird die Wallet nicht auf dem Sperrbildschirm angezeigt. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLET=trueund Karten in der Standard-App für NFC-Zahlungen vorhanden sind, wird die Wallet auf dem Sperrbildschirm angezeigt. - Wenn Sie das Smartphone entsperren, während die Wallet auf dem Sperrbildschirm angezeigt wird, werden die Karten neu angefordert. Dies kann dazu führen, dass andere Karteninhalte angezeigt werden.
Tests zur Barrierefreiheit
- Talkback-Nutzer können in der Wallet-Ansicht navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
- Wenn TalkBack aktiviert ist, wird durch Wischen nach links und rechts jede Karte nacheinander ausgewählt. Talkback-Nutzer können eine NFC-Zahlungsmethode an einem NFC-Zahlungsterminal auswählen und verwenden.
Manuelle Tests für Android 11
Für das Testen der Kernfunktionen des Schnellzugriffs auf Google Wallet ist ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App erforderlich, in der QuickAccessWalletService (Wallet-App) implementiert ist. Zu den Kernfunktionen, die getestet werden müssen, gehören Verfügbarkeit, Nullstatus, Kartenauswahl und Verhalten auf dem Sperrbildschirm.
Verfügbarkeit
- Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLEDauftruefestgelegt ist und die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist der Schnellzugriff auf Google Wallet verfügbar. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLEDauffalsegesetzt ist und die Standard-NFC-Zahlungs-App die Funktion unterstützt, ist der Schnellzugriff auf Wallet nicht möglich. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLEDauftruefestgelegt ist und die Standard-App für NFC-Zahlungen die Funktion nicht unterstützt, ist die Funktion „Schnellzugriff auf Wallet“ nicht verfügbar. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLEDauffalsefestgelegt ist und die Standard-App für NFC-Zahlungen die Funktion nicht unterstützt, ist die Funktion „Schnellzugriff auf Wallet“ nicht verfügbar.
Nullstatus
- Wenn
QuickAccessWalletServiceaktiviert und exportiert wird, aber keine Karten bereitstellt, wird in der Benutzeroberfläche für den Schnellzugriff auf Wallet die Ansicht für den leeren Status angezeigt. Durch Klicken auf die Ansicht des leeren Status wird die Wallet App geöffnet.
Abbildung 11. Ansicht für leeren Status in der Benutzeroberfläche für den Schnellzugriff auf Wallet.
Status ungleich null
Wenn die Wallet App eine oder mehrere Karten bereitstellt, werden diese in der Benutzeroberfläche für den Wallet-Schnellzugriff angezeigt.
Abbildung 12. Benutzeroberfläche für den Schnellzugriff auf Wallet mit einer angezeigten Karte. Wenn die angezeigte Karte eine NFC-Zahlungsmethode ist, wird diese Zahlungsmethode verwendet, wenn das Smartphone an ein NFC-Zahlungsterminal gehalten wird, und die Wallet-Ansicht wird geschlossen.
Wenn Sie auf eine angezeigte Karte klicken, wird die Wallet-Ansicht geschlossen und die detaillierte Aktivität für diese Karte wird geöffnet.
Wenn
QuickAccessWalletServicemehrere Karten bereitstellt, kann der Nutzer zwischen den Karten wischen.Das Dreipunkt-Menü enthält zwei Einträge: einen zum Öffnen der Wallet App und einen zum Öffnen des Bildschirms Karten und Tickets anzeigen in den Einstellungen.
Tests des Sperrzustands
- Wenn das Smartphone gesperrt ist, wird die Sichtbarkeit der Wallet durch die Einstellung
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENTgesteuert, die in den Einstellungen angepasst werden kann. - Wenn das Smartphone gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENTfalseist, wird die Wallet nicht angezeigt. - Wenn das Smartphone gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENTtrueist, wird die Wallet angezeigt. - Wenn Sie das Smartphone entsperren, während die Wallet auf dem Sperrbildschirm angezeigt wird, werden die Karten noch einmal abgerufen. Das kann dazu führen, dass andere Karteninhalte angezeigt werden.
Tests zur Barrierefreiheit
- TalkBack-Nutzer können in der Wallet-Ansicht navigieren, indem sie nach links und rechts wischen und sich die Inhaltsbeschreibungen der Karten anhören.
- Wenn TalkBack aktiviert ist, wird durch Wischen nach links und rechts jede Karte nacheinander ausgewählt. TalkBack-Nutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und verwenden.