Mit der Funktion „Schnellzugriffs-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 richtigen Zahlungsmethode vor einer Transaktion an einem NFC-Terminal und der schnelle Zugriff auf Flüge und andere Karten/Tickets für anstehende Veranstaltungen.
Unter Android 12 oder höher ist die Wallet-Funktion für den schnellen Zugriff über den Benachrichtigungs-Schirm verfügbar (siehe Abbildung 1 und Abbildung 2).
Unter Android 11 ist die Funktion im Menü „Ein/Aus“ verfügbar (siehe Abbildung 3).
Voraussetzungen
Ihr Gerät muss NFC unterstützen, damit Sie die Funktion „Wallet für den Schnellzugriff“ verwenden können. Die Funktion wird an QuickAccessWalletService
der Standard-NFC-Zahlungs-App gebunden. Das bedeutet, dass das Gerät auch hostbasierte Kartenemulation (HCE) unterstützen muss.
Funktionsübersicht
Die elektronische Geldbörse für den Schnellzugriff besteht aus zwei Teilen: der Benutzeroberfläche der elektronischen Geldbörse für den Schnellzugriff und dem Kartenanbieter der elektronischen Geldbörse für den Schnellzugriff.
Unter 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
. In Android 11 muss die Wallet-UI, die sich in platform/packages/apps/QuickAccessWallet
befindet, installiert und auf die Zulassungsliste gesetzt werden.
Der Kartenanbieter für den Schnellzugriff ist die standardmäßige NFC-Zahlungs-App. Nutzer können mehrere NFC-Zahlungs-Apps gleichzeitig installieren, aber nur die standardmäßige NFC-Zahlungs-App kann Karten im Ein/Aus-Menü anzeigen. Sie können angeben, welche NFC-Zahlungs-App standardmäßig verwendet werden soll. Nutzer können jedoch in den Einstellungen eine andere App auswählen. Wenn nur eine NFC-Zahlungs-App installiert ist, wird sie automatisch als Standard festgelegt (siehe CardEmulationManager
).
Implementierung
Damit Karten für die Wallet-Benutzeroberfläche für den schnellen Zugriff bereitgestellt werden können, müssen NFC-Zahlungs-Apps QuickAccessWalletService
implementieren.
Zahlungs-Apps müssen einen Manifesteintrag enthalten, in dem für den Dienst geworben wird.
Damit nur die System-UI an QuickAccessWalletService
gebunden werden kann, muss die NFC-Zahlungs-App die Berechtigung android.permission.BIND_QUICK_ACCESS_WALLET_SERVICE
anfordern. Wenn diese Berechtigung erforderlich ist, kann nur die System-UI an QuickAccessWalletService
gebunden werden.
<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 zum 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 folglich eine Aktivität startet, um den Fortschritt und das Ergebnis der Zahlung anzuzeigen, sollte auch versucht werden, eine Referenz auf die gebundene QuickAccessWalletService
abzurufen und QuickAccessWalletService#sendEvent
mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED
aufzurufen. Dadurch wird die Benutzeroberfläche für den schnellen Zugriff auf die Brieftasche geschlossen und der Nutzer hat einen ungehinderten Blick auf die Zahlungsaktivitäten.
Weitere Informationen zum Implementieren von QuickAccessWalletService
finden Sie unter QuickAccessWalletService
und den CTS-Test TestQuickAccessWalletService
.
Schnellzugriff auf Wallet-UI in Android 11 aktivieren
Wenn Sie die Wallet für den schnellen Zugriff so konfigurieren möchten, dass sie 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 der Datei overlay/frameworks/base/packages/SystemUI/res/values/config.xml
die fett formatierte Zeile im folgenden Codebeispiel hinzufü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 in der Konfigurationsdatei für die Einstellungen mit def_nfc_payment_component
die standardmäßige NFC-Zahlungs-App an.
Die standardmäßige NFC-Zahlungs-App muss QuickAccessWalletService
freigeben, um Karten für die Schnellzugriffs-Brieftasche bereitzustellen. Wenn die Standard-App für NFC-Zahlungen diesen Dienst nicht exportiert, wird die Wallet-Benutzeroberfläche ausgeblendet.
Details zur Implementierung von QuickAccessWalletService
QuickAccessWalletService
hat drei abstrakte Methoden, die implementiert werden müssen: onWalletCardsRequested
, onWalletCardSelected
und onWalletDismissed
. Das folgende Sequenzdiagramm zeigt eine Aufrufsequenz, wenn die Wallet für den schnellen Zugriff unmittelbar vor einer NFC-Zahlung aufgerufen wird.
Nicht auf alle Aufrufe des Schnellzugriffs Wallet folgt eine NFC-Zahlung. In Abbildung 4 oben sind jedoch alle Funktionen von QuickAccessWalletService
dargestellt. In diesem Beispiel implementiert der Kartenanbieter für den schnellen Zugriff die blau umrissenen Elemente. Es wird davon ausgegangen, dass Zahlungskarten auf dem Gerät in einer Datenbank gespeichert sind und über eine Benutzeroberfläche namens PaymentCardManager
darauf zugegriffen wird. Außerdem wird davon ausgegangen, dass eine Aktivität namens PaymentActivity
das Ergebnis einer NFC-Zahlung anzeigt. Der Ablauf sieht so aus:
- Der Nutzer führt eine Geste aus, um die Wallet für den Schnellzugriff aufzurufen.
Die Benutzeroberfläche der Schnellzugriffs-Brieftasche (Teil der System-UI) prüft im Paketmanager, ob die Standard-NFC-Zahlungs-App
QuickAccessWalletService
exportiert.- Wenn der Dienst nicht exportiert wird, wird der Schnellzugriff nicht angezeigt.
Die Benutzeroberfläche für den Schnellzugriff auf die Geldbörse bindet an die
QuickAccessWalletService
und ruftonWalletCardsRequested
auf. Diese Methode nimmt ein Anfrageobjekt mit Daten zur Anzahl und Größe der Karten an, die zur Verfügung gestellt werden können, und einen Rückruf entgegen. Der Callback kann aus einem Hintergrundthread aufgerufen werden.QuickAccessWalletService
berechnet die Karten, die angezeigt werden sollen, und ruft dann dieonSuccess
-Methode für den angegebenen Callback auf. Es wird empfohlen, dass der Dienst diese Aktionen in einem Hintergrund-Thread ausführt.Sobald die Karten angezeigt werden, benachrichtigt die System-UI
QuickAccessWalletService
, dass die erste Karte ausgewählt wurde, indemonWalletCardSelected
aufgerufen wird.onWalletCardSelected
wird jedes Mal aufgerufen, wenn der Nutzer eine neue Karte auswählt.onWalletCardSelected
kann auch dann aufgerufen werden, wenn sich die aktuell ausgewählte Karte nicht geändert hat.
Wenn der Nutzer die Schnellzugriffs-Brieftasche schließt, benachrichtigt die System-UI
QuickAccessWalletService
, indemonWalletDismissed
aufgerufen wird.
Im obigen Beispiel hält der Nutzer das Smartphone in Reichweite eines NFC-Zahlungsterminals, während die Wallet angezeigt wird. Eine wichtige Komponente für die Verarbeitung von NFC-Zahlungen ist HostApduService
. Diese muss implementiert werden, um vom NFC-Lesegerät bereitgestellte APDUs zu verarbeiten. Weitere Informationen finden Sie unter Hostbasierte Kartenemulation.
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 von Quick Access Wallet wird jedoch über dem App-Fenster angezeigt, sodass die Zahlungsaktivitäten von der Benutzeroberfläche von Quick Access Wallet verdeckt werden. Um das Problem zu beheben, muss die App die System-UI darüber informieren, dass die Wallet-UI für den Schnellzugriff geschlossen werden soll. Dazu kann er einen Verweis auf die gebundene QuickAccessWalletService
abrufen und sendWalletServiceEvent
mit dem Ereignistyp TYPE_NFC_PAYMENT_STARTED
aufrufen.
Beispielimplementierung für 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 API-Referenz zu QuickAccessWalletService
.
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. Das bedeutet, dass nur der System-UI-Prozess an Implementierungen von QuickAccessWalletService
gebunden werden kann. Beachten Sie, dass per Sideload installierte Apps diese Berechtigung anfordern und auf Geräten mit Android 10 oder niedriger vollen Zugriff auf QuickAccessWalletService
-Daten 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 nur die App-Berechtigungen erforderlich, die für die Bereitstellung von Zahlungsdiensten für die Hostkartenemulation erforderlich sind.
Wenn die standardmäßige NFC-Zahlungs-App QuickAccessWalletService
nicht implementiert oder exportiert, wird die Wallet-UI für den Schnellzugriff nicht angezeigt.
Einstellungen in Android 12
Nutzer können die Schnellzugriffs-Geldbörse über die Ein/Aus-Schaltfläche Geldbörse anzeigen in den Einstellungen > Display > Sperrbildschirm aktivieren oder deaktivieren. Wenn Nutzer die Wallet in der Leiste deaktivieren möchten, müssen sie sie manuell in der Leiste mit den Schnelleinstellungen bearbeiten.
Abbildung 5: Die Option „Brieftasche“ wird in den Einstellungen auf der Seite „Sperrbildschirm“ angezeigt.
Einstellungen in Android 11
Nutzer können die Funktion „Brieftasche für schnellen Zugriff“ in den Einstellungen deaktivieren. Die Seite „Einstellungen“ finden Sie unter Einstellungen > System > Gesten > Karten und Tickets.
Personalisierung
Wallet-Ansicht für den Schnellzugriff an anderer Stelle in der System-UI hinzufügen
Die Wallet-UI für den Schnellzugriff ist als System-Plug-in erstellt.
In der AOSP-Implementierung wird sie zwar in GlobalActionsDialog
verwendet (wird bei langem Drücken der Ein-/Aus-Taste angezeigt), Sie können die Funktion aber auch mit einer anderen Geste verknüpfen, solange Sie die von der Plug-in-Benutzeroberfläche angegebene Vereinbarung 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 Karten implementiert GlobalActionsPanelPlugin
und PanelViewController
.
GlobalActionsDialog
ruft eine Instanz des Wallet-Plug-ins mit com.android.systemui.Dependency
ab:
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 das von onPanelShown
zurückgegebene PanelViewController
nicht null ist, hängt das Dialogfeld das von getPanelContent
bereitgestellte View
an sein eigenes 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 das Wallet für den Schnellzugriff aus dem Ein-/Aus-Menü entfernen möchten, lassen Sie das Ziel QuickAccessWallet
aus dem Systembuild weg. Wenn Sie die Wallet für den Schnellzugriff aus dem Ein-/Aus-Menü entfernen, sie aber einer anderen Ansicht der System-UI hinzufügen möchten, fügen Sie das Build-Ziel ein und entfernen Sie Verweise auf die GlobalActionsPanelPlugin
aus GlobalActionsImpl
.
Standardkonfigurationen festlegen
Android 12
Unter Android 12 oder höher ist die Wallet für den Schnellzugriff immer in den Schnelleinstellungen zu sehen. Die Sichtbarkeit der Wallet für den Schnellzugriff auf dem Sperrbildschirm wird durch die folgende Sicherheitseinstellung eingeschränkt: LOCKSCREEN_SHOW_WALLET
. Mit dieser Einstellung wird festgelegt, ob das Wallet-Symbol für den schnellen Zugriff unten rechts auf dem Sperrbildschirm angezeigt wird. Diese Einstellung ist standardmäßig auf true
gesetzt, kann aber vom Nutzer unter Einstellungen > Display > Sperrbildschirm > Wallet anzeigen deaktiviert werden.
Android 11
Unter Android 11 wird die Sichtbarkeit von Wallet für den schnellen Zugriff durch zwei sichere Einstellungen gesteuert:
GLOBAL_ACTIONS_PANEL_ENABLED
und GLOBAL_ACTIONS_PANEL_AVAILABLE
. Mit der Einstellung AVAILABLE
wird festgelegt, ob die Funktion in den Einstellungen aktiviert und deaktiviert werden kann. Diese Einstellung wird 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
gesetzt, kann jedoch vom Nutzer in den Einstellungen deaktiviert werden. Wenn Sie das Standardverhalten ändern möchten, ändern Sie WalletPluginService#enableFeatureInSettings
.
Zertifizierungsstufe
Führen Sie CTS- und manuelle Tests durch, um die Implementierung der Schnellzugriffs-Brieftasche zu validieren. Änderungen am Plug-in sollten auch die enthaltenen Robolectric-Tests ausführen.
CTS-Tests
Führen Sie die CTS-Tests unter cts/tests/quickaccesswallet
aus.
Manuelle Tests für Android 12
Zum Testen der Hauptfunktionen der Quick Access Wallet-App ist ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App erforderlich, die QuickAccessWalletService
(Wallet-App) implementiert. Zu den wichtigsten Funktionen, die getestet werden müssen, gehören Verfügbarkeit, Nullzustand, Kartenauswahl und Sperrbildschirmverhalten.
Verfügbarkeit
- Wenn die Standard-NFC-Zahlungs-App die Funktion nicht unterstützt, ist die Wallet für den schnellen Zugriff weder in den Schnelleinstellungen noch auf dem Sperrbildschirm verfügbar.
- Wenn die Standard-NFC-Zahlungs-App die Funktion unterstützt, ist die Brieftasche für den schnellen Zugriff in den Schnelleinstellungen verfügbar.
- Wenn die Standard-NFC-Zahlungs-App diese Funktion unterstützt und die Einstellung
LOCKSCREEN_SHOW_WALLET
auftrue
gesetzt ist, ist das Schnellzugriff-Wallet über den Sperrbildschirm zugänglich. - Wenn die Standard-NFC-Zahlungs-App die Funktion unterstützt und die Einstellung für
LOCKSCREEN_SHOW_WALLET
false
ist, ist die Wallet für den schnellen Zugriff nicht auf dem Sperrbildschirm verfügbar.
Nullzustand
Wenn
QuickAccessWalletService
aktiviert und exportiert wird, aber keine Karten enthält, wird die Kachel im Schatten wie im Beispiel in Abbildung 7 angezeigt. Durch Klicken auf die Kachel wird die Standard-App für NFC-Zahlungen geöffnet.Abbildung 7. Beispielkachel im Schieberegler mit der Standard-App für NFC-Zahlungen
Wenn Sie auf die Ansicht im leeren Zustand klicken (siehe Abbildung 8), wird die Standard-NFC-Zahlungs-App geöffnet. Diese Ansicht wird nur angezeigt, wenn der Nutzer nur noch eine Karte in der Brieftasche hat, die Karte von der Seite mit den Kartendetails entfernt und dann zur Brieftaschenansicht zurückkehrt.
Auf dem Sperrbildschirm wird das Wallet-Symbol angezeigt.
Abbildung 8. Leere Ansicht in der Wallet-Benutzeroberfläche für den Schnellzugriff.
Status ungleich null
Wenn die Wallet-App eine oder mehrere Karten bereitstellt, wird die Kachel in der Leiste wie in Abbildung 9 dargestellt.
Abbildung 9. Beispiel für eine Kachel im Schatten, wenn die Wallet App eine oder mehrere Karten enthält
Durch Klicken auf die Kachel wird ein Kartenkarussell angezeigt.
Auf dem Sperrbildschirm wird eine Schaltfläche angezeigt, mit der die Wallet für den Schnellzugriff geöffnet wird.
Abbildung 10. Benutzeroberfläche für den Schnellzugriff auf Wallet mit einer angezeigten Karte
Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, wird die Zahlungsmethode verwendet und die Wallet-Ansicht geschlossen, wenn Sie das Smartphone an ein NFC-Zahlungsterminal halten.
Wenn Sie auf eine angezeigte Karte klicken, wird die detaillierte Aktivität für diese Karte geöffnet.
Wenn
QuickAccessWalletService
mehrere Karten zur Verfügung stellt, 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 Brieftasche anzeigen ändern kann.
Tests für den Schlossstatus
- Wenn das Smartphone gesperrt ist, wird die Brieftasche in der Leiste für die Schnelleinstellungen angezeigt. Sie enthält die Beschreibung Karte hinzufügen, wenn in der Standard-Zahlungs-App keine Karte vorhanden ist, oder zum Verwenden entsperren, wenn in der Standard-Zahlungs-App Karten vorhanden sind.
- Wenn das Smartphone gesperrt ist, wird die Sichtbarkeit von Google Wallet auf dem Sperrbildschirm über die Einstellung
Secure.LOCKSCREEN_SHOW_WALLET
gesteuert, die in den Einstellungen festgelegt wird. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLET
=false
und in der Standard-NFC-Zahlungs-App keine Karte vorhanden ist, wird das Wallet nicht auf dem Sperrbildschirm angezeigt. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLET
=true
und in der Standard-NFC-Zahlungs-App keine Karte vorhanden ist, wird das Wallet nicht auf dem Sperrbildschirm angezeigt. - Wenn das Smartphone gesperrt ist,
LOCKSCREEN_SHOW_WALLET
=true
und in der Standard-App für NFC-Zahlungen Karten vorhanden sind, wird das Wallet auf dem Sperrbildschirm angezeigt. - Wenn Sie das Smartphone entsperren, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, werden die Karten noch einmal angefordert. Dies kann zu unterschiedlichen Karteninhalten führen.
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 Sie bei aktiviertem Talkback nach links oder rechts wischen, werden die einzelnen Karten nacheinander ausgewählt. TalkBack-Nutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und verwenden.
Manuelle Tests für Android 11
Zum Testen der Hauptfunktionen der Quick Access Wallet-App ist ein NFC-Zahlungsterminal (echt oder gefälscht) und eine NFC-Zahlungs-App erforderlich, die QuickAccessWalletService
(Wallet-App) implementiert. Zu den wichtigsten Funktionen, die getestet werden müssen, gehören Verfügbarkeit, Zero-Status, Kartenauswahl und Sperrbildschirmverhalten.
Verfügbarkeit
- Wenn die Einstellung für
GLOBAL_ACTIONS_PANEL_ENABLED
true
ist und die standardmäßige NFC-Zahlungs-App die Funktion unterstützt, ist der Schnellzugriff auf die Brieftasche verfügbar. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLED
auffalse
gesetzt ist und die Standard-NFC-Zahlungs-App diese Funktion unterstützt, ist das Schnellzugriff-Wallet nicht zugänglich. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLED
auftrue
gesetzt ist und die Standard-NFC-Zahlungs-App diese Funktion nicht unterstützt, ist der Zugriff auf die Brieftasche für den Schnellzugriff nicht möglich. - Wenn die Einstellung
GLOBAL_ACTIONS_PANEL_ENABLED
auffalse
gesetzt ist und die Standard-NFC-Zahlungs-App diese Funktion nicht unterstützt, ist der Zugriff auf die Brieftasche für den Schnellzugriff nicht möglich.
Nullzustand
- Wenn
QuickAccessWalletService
aktiviert und exportiert, aber keine Karten enthält, wird in der Wallet-Benutzeroberfläche für den Schnellzugriff der leere Status angezeigt. Wenn Sie auf die Ansicht mit leerem Status klicken, wird die Wallet App geöffnet.
Nicht null
Wenn die Wallet-App eine oder mehrere Karten bereitstellt, werden die Karten in der Wallet-UI für den Schnellzugriff angezeigt.
Wenn die angezeigte Karte eine NFC-Zahlungsmethode darstellt, führt das Halten des Smartphones an ein NFC-Zahlungsterminal dazu, dass diese Zahlungsmethode verwendet und die Brieftaschenansicht geschlossen wird.
Wenn Sie auf eine angezeigte Karte klicken, wird die Wallet-Ansicht geschlossen und die detaillierten Aktivitäten für diese Karte werden geöffnet.
Wenn
QuickAccessWalletService
mehrere Karten zur Verfügung stellt, kann der Nutzer zwischen den Karten wischen.Das Dreipunkt-Menü enthält zwei Einträge: einen, über den die Wallet App geöffnet wird, und einen, über den der Bildschirm Karten und Karten/Tickets anzeigen in den Einstellungen geöffnet wird.
Tests für den Schlossstatus
- Wenn das Smartphone gesperrt ist, wird die Sichtbarkeit des Wallets durch die Einstellung
Settings.Secure.POWER_MENU_LOCK_SHOW_CONTENT
gesteuert, die in den Einstellungen angepasst werden kann. - Wenn das Smartphone gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENT
=false
ist, wird die Brieftasche nicht angezeigt. - Wenn das Smartphone gesperrt ist und
POWER_MENU_LOCK_SHOW_CONTENT
auftrue
steht, wird die Brieftasche angezeigt. - Wenn Sie das Smartphone entsperren, während die Brieftasche auf dem Sperrbildschirm angezeigt wird, werden die Karten noch einmal abgefragt. Dies kann zu unterschiedlichen Karteninhalten führen.
Tests zur Barrierefreiheit
- TalkBack-Nutzer können durch Wischen nach links und rechts und durch Hören der Inhaltsbeschreibungen der Karten durch die Wallet-Ansicht navigieren.
- Wenn Sie bei aktiviertem TalkBack nach links und rechts wischen, werden die Karten der Reihe nach ausgewählt. TalkBack-Nutzer können an einem NFC-Zahlungsterminal eine NFC-Zahlungsmethode auswählen und verwenden.